RemoteDataError Traceback (most recent call last)
Input In [22], in <cell line: 9>()
1 '''
2 get_data_yahoo表示从雅虎数据源获取股票数据
3 雅虎股票数据源文档:http://pandas-datareader.readthedocs.io/en/latest/remote_data.html#yahoo-finance
4 '''
5 # # 获取哪段时间范围的股票数据
6 # start_date = '2018-01-01'
7 # end_date = '2019-05-01'
8 #获取阿里巴巴股票数据
----> 9 ALbbDf = data.get_data_yahoo(gafataDict['阿里巴巴'],start_date, end_date)
10 #查看前5行数据
11 ALbbDf.tail()
File ~\AppData\Roaming\Python\Python39\site-packages\pandas_datareader\data.py:80, in get_data_yahoo(*args, **kwargs)
79 def get_data_yahoo(*args, **kwargs):
---> 80 return YahooDailyReader(*args, **kwargs).read()
File ~\AppData\Roaming\Python\Python39\site-packages\pandas_datareader\base.py:253, in _DailyBaseReader.read(self)
251 # If a single symbol, (e.g., 'GOOG')
252 if isinstance(self.symbols, (string_types, int)):
--> 253 df = self._read_one_data(self.url, params=self._get_params(self.symbols))
254 # Or multiple symbols, (e.g., ['GOOG', 'AAPL', 'MSFT'])
255 elif isinstance(self.symbols, DataFrame):
File ~\AppData\Roaming\Python\Python39\site-packages\pandas_datareader\yahoo\daily.py:149, in YahooDailyReader._read_one_data(self, url, params)
146 del params["symbol"]
147 url = url.format(symbol)
--> 149 resp = self._get_response(url, params=params, headers=self.headers)
150 ptrn = r"root.App.main = (.*?);\n}(this));"
151 try:
File ~\AppData\Roaming\Python\Python39\site-packages\pandas_datareader\base.py:181, in _BaseReader._get_response(self, url, params, headers)
178 if last_response_text:
179 msg += "\nResponse Text:\n{0}".format(last_response_text)
--> 181 raise RemoteDataError(msg)
**
RemoteDataError: Unable to read URL: https://finance.yahoo.com/quote/BABA/history?period1=1514750400&period2=1556740799&interval=1d&frequency=1d&filter=history**
Response Text:
b'\n\n\n \n
As of November 1st, 2021 Yahoo\xe2\x80\x99s suite of services will no longer be accessible from mainland China. Yahoo products and services remain unaffected in all other global locations. We thank you for your support and readership.
\n要从雅虎财经获取股票数据,你可以使用 Python 的 pandas_datareader
库。先安装它,可以使用 pip
命令来安装:
pip install pandas_datareader
安装完成后,你可以使用以下代码来获取某只股票的历史数据:
import pandas_datareader as pdr
# 获取股票数据
df = pdr.get_data_yahoo('AAPL')
# 显示前五行数据
df.head()
这段代码会使用雅虎的 API 接口来获取苹果公司(AAPL)的历史数据,并将其存储在一个 Pandas 数据帧中。如果你想要获取其他公司的数据,只需要将 AAPL
替换为该公司的股票代码即可。
不过,上面的代码只是一个简单的例子,实际上可能会遇到一些问题,例如网络连接问题或者雅虎 API 接口的变化。如果你遇到问题,可以查看 Pandas 文档来获取更多信息。