我只是使用 pandas datareader 来获取过去两周左右的股票数据,它运行良好。突然间,从昨天开始,所提供的日期就不再有效了。它只是给我过去一年的数据,我无法更改日期。曾经与注释掉的那个一起工作,但现在不是。我什至将其更改为使用 datetime 对象,但仍然无法正常工作。任何想法?我更新了 pandas 和 pandas_datareader 仍然没有运气。用了另一台电脑还是不行。他们最近是否更改了 API?
from pandas_datareader import data
import datetime
#start = '2010-01-01'
#end = '2017-7-31'
start = datetime.datetime(2010, 1, 1)
end = datetime.datetime(2017,7, 31)
f = data.DataReader('AAPL', 'google', start, end)
print(f.head())
输出:
Open High Low Close Volume
Date
2016-09-19 115.19 116.18 113.25 113.58 47023046
2016-09-20 113.05 114.12 112.51 113.57 34514269
2016-09-21 113.85 113.99 112.44 113.55 36003185
2016-09-22 114.35 114.94 114.00 114.62 31073984
2016-09-23 114.42 114.79 111.55 112.71 52481151
最佳答案
Google 已将 Google 财经 URL 更改为 finance.google.com/finance/historical 而不是 www.google.com/finance/historical,后者用作 pandas_datareader 中的 URL。
当从旧 URL 获取数据并重定向到新 URL 时,服务器返回 HTTP 302。但是,在 HTTP 重定向期间缺少参数开始日期/结束日期。
url在源码中设置: https://github.com/pydata/pandas-datareader/blob/master/pandas_datareader/google/daily.py
也许您可以修改 URL 并使用您自己的 pandas_datareader 版本。
关于python - DataReader 谷歌财务日期不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46259528/