DataReader дата финансов Google не работает

Я просто использовал 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

person user1179317    schedule 17.09.2017    source источник
comment
Это распространенная проблема. Либо ошибка загрузчика данных, либо репозитории больше не предоставляют эти данные.   -  person cs95    schedule 17.09.2017


Ответы (3)


Google изменил URL-адрес Google Finance на financial.google.com/finance/historical, а не на www.google.com/finance/historical, который используется в качестве URL-адреса в pandas_datareader.

Сервер возвращает HTTP 302 при извлечении данных из старого URL-адреса и перенаправлении на новый URL-адрес. Однако параметры startdate / enddate отсутствуют во время перенаправления HTTP.

URL-адрес установлен в исходном коде: https://github.com/pydata/pandas-datareader/blob/master/pandas_datareader/google/daily.py

Возможно, вы можете изменить URL-адрес и использовать свою собственную версию pandas_datareader.

person Gary Liang    schedule 22.09.2017

URL-адрес был обновлен, поэтому обновление datareader решит проблему:

sudo pip install pandas_datareader --upgrade

person Peter    schedule 24.10.2017

Согласно документам для чтения данных, Yahoo !, Параметры Google, Google Quotes и EDGAR были немедленно объявлены устаревшими из-за значительных изменений в их API и отсутствия стабильной замены. Вместо этого используйте "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
person Vaishali    schedule 08.01.2019