Pandas-Datareder не загружает данные Google Finance - PullRequest
0 голосов
/ 15 октября 2018

Я пытаюсь загрузить данные Google Finance через pandas_datareader.

Когда я выполняю:

import pandas_datareader.data as web
from datetime import datetime
start = datetime(2018, 1, 2)
end = datetime(2018, 10, 12)
ms = web.DataReader('MS', 'google', start, end)
x = f.iloc[:,3]
print (x)

Я получаю следующее:

RemoteDataError: Невозможно прочитать URL: https://finance.google.com/finance/historical?q=MS&startdate=Jan+02%2C+2018&enddate=Oct+12%2C+2018&output=csv
Текст ответа: b'<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"/><title>Sorry...</title><style> body { font-family: verdana, arial, sans-serif; background-color: #fff; color: #000; }</style></head><body><div><table><tr><td><b><font face=sans-serif size=10><font color=#4285f4>G</font><font color=#ea4335>o</font><font color=#fbbc05>o</font><font color=#4285f4>g</font><font color=#34a853>l</font><font color=#ea4335>e</font></font></b></td><td style="text-align: left; vertical-align: bottom; padding-bottom: 15px; width: 50%"><div style="border-bottom: 1px solid #dfdfdf;">Sorry...</div></td></tr></table></div><div style="margin-left: 4em;"><h1>We\'re sorry...</h1><p>... but your computer or network may be sending automated queries. To protect our users, we can\'t process your request right now.</p></div><div style="margin-left: 4em;">See <a href="https://support.google.com/websearch/answer/86640">Google Help</a> for more information.<br/><br/></div><div style="text-align: center; border-top: 1px solid #dfdfdf;"><a href="https://www.google.com">Google Home</a></div></body></html>'

Как я могу получить доступ к данным, не вдаваясь в это?Также обратите внимание, что при использовании других API, таких как IEX, средство чтения данных работало нормально (только у Google Finance более широкий доступ к данным).

Ответы [ 2 ]

0 голосов
/ 30 января 2019

Я использую следующий код, чтобы узнать ежедневные цены на акции, используя 'Yahoo'.Вот код.

import datetime as dt
import pandas as pd
import pandas_datareader.data as data

ticker = input(str("Enter ticker: "))
data_source = 'yahoo'
start = dt.datetime(2017, 1 ,1)
end = dt.datetime(2020, 1 ,12)
df= data.DataReader(ticker, data_source, start, end)
0 голосов
/ 04 ноября 2018

Конечные точки Google Finance, которые использовались в Pandas Datareader, были сняты с производства .Таким образом, Google Finance был устарел (помечен для удаления) с текущей версии Pandas Datareader (0.7.0).

Вы, вероятно, используете более раннюю версию Pandas Datareader, котораяВот почему использование google источника данных web.DataReader вызывает RemoteDataError вместо ImmediateDeprecationError.

. Чтобы решить вашу проблему, я бы рекомендовал использовать другой источник данных, например IEX :

ms = web.DataReader("ms", "iex", start, end)

другие опции включают Alpha Vantage и Quandl .

...