我试图从谷歌获取某些其他地方没有的财务指标的财务数据。数据提取失败,让我想知道是否无法使用 Pandas DataReader 提取某些类别的谷歌财务数据。我用谷歌搜索了这个问题,找不到任何关于这个问题的讨论。从谷歌金融获取数据有限制吗?
这是问题所在。当我尝试使用 Pandas 的 DataReader 从 Google Finance 获取数据时收到以下错误:
OSError:3 次尝试后,Google 没有为 url ' http://www.google.com/finance/historical?enddate=Dec+25%2C+2015&q=VFINX&startdate=Jun+02%2C+2003&output=csv返回 200 '
导致错误消息的 Pandas 声明是:
data.DataReader("VFINX", 'google', start=datetime.datetime(2003, 6, 2), end=datetime.date.today())
我导入了以下库:
from pandas_datareader import data, wb
import datetime
当我尝试获取共同基金(例如 VFINX(Vanguard S&P 500)或指数(例如 DWCPF(道琼斯完成指数))的数据时,也会出现该错误。共同基金的明显解决方法是使用雅虎。但是,当我获取股票(例如 C(花旗银行))的数据时,上述语句可以正常工作。这让我相信,无法通过 pandas 数据阅读器获得共同基金和指数的谷歌财务数据。
不幸的是,雅虎没有提供索引 DWCPF 的历史数据。为了从谷歌获取数据,我通过修改 url 抓取了谷歌, https://www.google.com/finance/historical?cid= 12645460&startdate=Dec+26%2C+2014&enddate=Dec+25%2C+2015&num=200&ei =TVV9VoHSOMWSmGAx7ewCg 显然,网络抓取比简单地使用数据阅读器更费力。
我正在使用 python 3.4(和另一台计算机上的 3.5)、pandas 版本 0.17.1,最近升级到 Pandas DataReader。