DataReader谷歌财务日期不起作用

时间:2017-09-17 00:05:14

标签: python google-finance pandas-datareader

我刚刚使用pandas datareader来获取过去两周左右的库存数据,并且工作正常。从昨天开始突然提供的日期不再有效。它只是给我过去一年的数据,我不能改变日期。用于处理注释掉的那个,但现在不是。我甚至改变它使用datetime对象,但仍然无法正常工作。任何的想法?我更新了熊猫和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

3 个答案:

答案 0 :(得分:5)

Google已将Google财经网址更改为finance.google.com/finance/historical而非www.google.com/finance/historical,后者用作pandas_datareader中的网址。

服务器在从旧URL获取数据并重定向到新URL时返回HTTP 302。但是,HTTP重定向期间缺少参数startdate / enddate。

在源代码中设置了url: https://github.com/pydata/pandas-datareader/blob/master/pandas_datareader/google/daily.py

也许您可以修改网址并使用自己的pandas_datareader版本。

答案 1 :(得分:0)

网址现已更新,因此升级datareader可解决问题:

sudo pip install pandas_datareader --upgrade

答案 2 :(得分:0)

根据数据读取器文档,由于它们的API发生了很大的变化并且没有稳定的替代品,因此Yahoo!,Google Options,Google Quotes和EDGAR已被立即弃用。改用“ iex”

import pandas_datareader.data as web
import datetime as dt    

start = dt.datetime(2018,1,1)
end = dt.datetime(2019,1,1)

aapl = web.DataReader('AAPL', 'iex', start, end)

aapl.shape
(251, 5)

aapl.head()

    open    high    low close   volume
date                    
2018-01-02  167.6431    169.7514    166.7564    169.7120    25555934
2018-01-03  169.9780    171.9682    169.4165    169.6825    29517899
2018-01-04  169.9879    170.9041    169.5347    170.4707    22434597
2018-01-05  170.8746    172.7760    170.4904    172.4115    23660018
2018-01-08  171.7711    173.0125    171.3573    171.7711    20567766