如何用python从雅虎财经网站上下载所有美股上市公司过去1年的股价
时间: 2024-09-29 13:01:56 浏览: 81
在Python中,我们可以使用`pandas_datareader`库配合Yahoo Finance API来获取并下载美股上市公司的历史股价数据。以下是一个简单的步骤指南:
1. 首先,你需要安装所需的库,如果还没有安装,可以使用`pip`安装:
```bash
pip install pandas pandas-datareader yfinance
```
2. 导入必要的模块:
```python
import pandas as pd
from pandas_datareader import data as pdr
import datetime
```
3. 定义股票代码列表,假设你想获取AAPL(苹果)、GOOGL(谷歌)等公司的数据:
```python
stocks = ['AAPL', 'GOOGL', 'MSFT'] # 更改为你感兴趣的股票代码
start_date = datetime.datetime.now() - datetime.timedelta(days=365) # 获取一年前的日期
end_date = datetime.date.today()
```
4. 使用循环获取每个股票的数据,并将结果存储在一个Pandas DataFrame中:
```python
all_data = {}
for stock in stocks:
try:
data = pdr.get_data_yahoo(stock, start=start_date, end=end_date)
all_data[stock] = data
except Exception as e:
print(f"Error fetching {stock}: {e}")
# 合并所有数据到一个DataFrame
all_stocks_df = pd.concat(all_data, axis=1, keys=stocks)
```
5. 最后,你可以保存这个DataFrame到CSV文件:
```python
all_stocks_df.to_csv('stock_prices_1_year.csv', index=False)
```
注意:Yahoo Finance API可能会有访问限制或更改,确保在使用时遵守其服务条款。
阅读全文