【问题标题】:Pandas Datareader not responding, HTTP status 404Pandas Datareader 没有响应,HTTP 状态 404
【发布时间】:2021-09-14 13:32:57
【问题描述】:

我正在尝试使用 python 中的 pandas datareader 使用 data_source 作为 Yahoo 获取公司(在本例中为 APPLE)的历史价格数据。

直到几天前(2021 年 7 月),这一直运行良好。我不确定雅虎是否再次停止了他们的 API 或者只是我。

import pandas_datareader as wb
data = wb.DataReader('AAPL', data_source='yahoo', start='2019-9-1')
print(data) 

这是我得到的错误:

Traceback (most recent call last):
  File "C:/Users/Allwin/Documents/GitHub/Dynamic_Programming/Apna Col/scratchBook.py", line 4, in <module>
    data = wb.DataReader('AAPL', data_source='yahoo', start='2019-9-1')
  File "C:\Users\Allwin\anaconda3\envs\Complete_FinAnalysis\lib\site-packages\pandas\util\_decorators.py", line 199, in wrapper
    return func(*args, **kwargs)
  File "C:\Users\Allwin\anaconda3\envs\Complete_FinAnalysis\lib\site-packages\pandas_datareader\data.py", line 376, in DataReader
    return YahooDailyReader(
  File "C:\Users\Allwin\anaconda3\envs\Complete_FinAnalysis\lib\site-packages\pandas_datareader\base.py", line 253, in read
    df = self._read_one_data(self.url, params=self._get_params(self.symbols))
  File "C:\Users\Allwin\anaconda3\envs\Complete_FinAnalysis\lib\site-packages\pandas_datareader\yahoo\daily.py", line 153, in _read_one_data
    resp = self._get_response(url, params=params)
  File "C:\Users\Allwin\anaconda3\envs\Complete_FinAnalysis\lib\site-packages\pandas_datareader\base.py", line 181, in _get_response
    raise RemoteDataError(msg)
pandas_datareader._utils.RemoteDataError: Unable to read URL: https://finance.yahoo.com/quote/AAPL/history?period1=1567299600&period2=1625273999&interval=1d&frequency=1d&filter=history
Response Text:
b'<!DOCTYPE html>\n  <html lang="en-us"><head>\n  <meta http-equiv="content-type" content="text/html; charset=UTF-8">\n      <meta charset="utf-8">\n      <title>Yahoo</title>\n      <meta name="viewport" content="width=device-width,initial-scale=1,minimal-ui">\n      <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">\n      <style>\n  html {\n      height: 100%;\n  }\n  body {\n      background: #fafafc url(https://s.yimg.com/nn/img/sad-panda-201402200631.png) 50% 50%;\n      background-size: cover;\n      height: 100%;\n      text-align: center;\n      font: 300 18px "helvetica neue", helvetica, verdana, tahoma, arial, sans-serif;\n  }\n  table {\n      height: 100%;\n      width: 100%;\n      table-layout: fixed;\n      border-collapse: collapse;\n      border-spacing: 0;\n      border: none;\n  }\n  h1 {\n      font-size: 42px;\n      font-weight: 400;\n      color: #400090;\n  }\n  p {\n      color: #1A1A1A;\n  }\n  #message-1 {\n      font-weight: bold;\n      margin: 0;\n  }\n  #message-2 {\n      display: inline-block;\n      *display: inline;\n      zoom: 1;\n      max-width: 17em;\n      _width: 17em;\n  }\n      </style>\n  <script>\n    document.write(\'<img src="//geo.yahoo.com/b?s=1197757129&t=\'+new Date().getTime()+\'&src=aws&err_url=\'+encodeURIComponent(document.URL)+\'&err=%<pssc>&test=\'+encodeURIComponent(\'%<{Bucket}cqh[:200]>\')+\'" width="0px" height="0px"/>\');var beacon = new Image();beacon.src="//bcn.fp.yahoo.com/p?s=1197757129&t="+new Date().getTime()+"&src=aws&err_url="+encodeURIComponent(document.URL)+"&err=%<pssc>&test="+encodeURIComponent(\'%<{Bucket}cqh[:200]>\');\n  </script>\n  </head>\n  <body>\n  <!-- status code : 404 -->\n  <!-- Not Found on Server -->\n  <table>\n  <tbody><tr>\n      <td>\n      <h1 style="margin-top:20px;">Will be right back...</h1>\n      <p id="message-1">Thank you for your patience.</p>\n      <p id="message-2">Our engineers are working quickly to resolve the issue.</p>\n      </td>\n  </tr>\n  </tbody></table>\n  </body></html>'

【问题讨论】:

    标签: python pandas dataframe stock pandas-datareader


    【解决方案1】:

    我有同样的错误。

    我将 pandas-datareader 从 0.9.0 升级到 0.10.0。 我还将 pandas 从 1.1.1 升级到 1.3.0。

    然后错误消失了。我不知道哪一个真正解决了这个问题。

    一种可能的升级方式是输入:pip install --upgrade pandas-datareader

    【讨论】:

    • 谢谢!只更新 pandas-datareader 对我有用。
    • 奇怪的是它对我不起作用
    【解决方案2】:

    我也有同样的问题。看起来雅虎网站正在运行,但也许他们改变了格式。我能够导航到 pandas datareader 生成的 url,发现我可以手动下载数据。

    更新:

    如果您阅读了错误消息.. 最后会显示:

    &lt;!-- status code : 404 --&gt;\n  &lt;!-- Not Found on Server --&gt;\n  &lt;table&gt;\n  &lt;tbody&gt;&lt;tr&gt;\n      &lt;td&gt;\n      &lt;h1 style="margin-top:20px;"&gt;Will be right back...&lt;/h1&gt;\n      &lt;p id="message-1"&gt;Thank you for your patience.&lt;/p&gt;\n      &lt;p id="message-2"&gt;Our engineers are working quickly to resolve the issue.&lt;/p&gt;

    所以,我认为这是一个暂时的雅虎问题。

    【讨论】:

    • 我不打算很快修复它
    • 我目前正在使用 yfinance,现在效果也很好
    猜你喜欢
    • 2019-04-03
    • 2019-02-27
    • 2022-11-11
    • 2017-09-26
    • 2019-02-10
    • 2017-08-10
    • 2018-04-25
    • 2018-03-05
    • 1970-01-01
    相关资源
    最近更新 更多