来自Google Compute Engine的http请求出现问题

时间:2015-03-21 12:07:54

标签: python pandas ubuntu-14.04 google-compute-engine yahoo-finance

我尝试设置Google Compute Engine服务器以使用Python Pandas提取选项数据。当我在家里从我的Mac发出这个请求时,我只有深夜雅虎问题!正在重置其服务器(数据来自Yahoo! Finance)。但是当我尝试从我的计算引擎服务器做同样的事情时,对我感兴趣的一些股票的请求总是失败,尽管它通常适用于较大公司的选项,例如' aapl&#39 ;或者' ge'。在我家的计算机上,同时运行它,同样的请求对小型和大型公司都成功。

请求通常需要几秒钟,也许多达15秒。当我在Google服务器上发出这些请求时,有没有办法获得更广泛的日志?我能想到的唯一事情是,由于某些原因,这些特定的http请求存在权限问题,或者配置了超时的干扰。但据我所知,对于那种请求,一般超时应该是75秒,并且它没有办法花那么长时间。

这是我从python shell中看到的一个示例:

>>> from pandas.io.data import Options
>>> spwr = Options('spwr', 'yahoo')
>>> data = spwr.get_all_data()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/mnt/disk1/venv/optbot/local/lib/python2.7/site-packages/pandas/io/data.py", line 1090, in get_all_data
    return self._get_data_in_date_range(dates=expiry_dates, call=call, put=put)
  File "/mnt/disk1/venv/optbot/local/lib/python2.7/site-packages/pandas/io/data.py", line 1104, in _get_data_in_date_range
    frame = self._get_option_data(expiry=expiry_date, name=name)
  File "/mnt/disk1/venv/optbot/local/lib/python2.7/site-packages/pandas/io/data.py", line 723, in _get_option_data
    frames = self._get_option_frames_from_yahoo(expiry)
  File "/mnt/disk1/venv/optbot/local/lib/python2.7/site-packages/pandas/io/data.py", line 655, in _get_option_frames_from_yahoo
    option_frames = self._option_frames_from_url(url)
  File "/mnt/disk1/venv/optbot/local/lib/python2.7/site-packages/pandas/io/data.py", line 692, in _option_frames_from_url
    raise RemoteDataError('Received no data from Yahoo at url: %s' % url)
pandas.io.data.RemoteDataError: Received no data from Yahoo at url: http://finance.yahoo.com/q/op?s=SPWR&date=1430438400
>>> aapl = Options('aapl', 'yahoo')
>>> data = aapl.get_all_data()
>>>

我从来没有成功获得spwr&#39;的选项数据,但通常它适用于大公司。

我有什么想法可以解决这个问题?或者获取日志,告诉我更多关于这里发生了什么的事情?

1 个答案:

答案 0 :(得分:0)

这是由Pandas 0.15.2中的问题引起的。当我恢复到Pandas 0.15.1时,它又开始工作了。已经向熊猫提交了issue。检查那里是否在以后的版本中解决了它。