Pandas DataReader 和 Yahoo 的问题

Problems with Pandas DataReader and Yahoo

我正在尝试获取以下股票信息:

from pandas.io.data import DataReader
import datetime
data = DataReader("F", "yahoo", datetime.datetime(1990, 1, 1),datetime.datetime(2002, 1, 1))

失败

IOError: after 3 tries, Yahoo! did not return a 200 for url 'http://ichart.finance.yahoo.com/table.csv?s=C001.F&a=0&b=1&c=2014&d=11&e=1&f=2017&g=d&ignore=.csv'

到目前为止,我找不到解决此问题的方法或合适的解决方法。大家有什么建议吗?

似乎不​​再支持“yahoo”。试试 "morningstar" 或 "google".

简单的 yahoo financial link,已经工作多年,不再受支持。

我听说有一种变通方法涉及浏览器欺骗(命令行中的 wget)需要浏览器别名来获取时间敏感的 cookie,然后每个请求都需要这些 cookie——但我自己从未尝试过,因为 "morningstar" 目前仍然有效(但我想念雅虎调整后的收盘价)。

#(Pascal 3.6)
import pandas as pd
import pandas_datareader.data as web
...
df = web.DataReader('MSFT','morningstar')

for idx, row in df.iterrows():
    print(idx[1],row[0],row[1],row[2],row[3],row[4])