【问题标题】:Trouble with http request from Google Compute Engine来自 Google Compute Engine 的 http 请求出现问题
【发布时间】:2015-03-21 12:07:54
【问题描述】:

我正在尝试设置 Google Compute Engine 服务器以使用 Python Pandas 提取选项数据。当我在家里从我的 Mac 上提出这个请求时,我只有在深夜雅虎!正在重置其服务器(数据是从 Yahoo! Finance 提取的)。但是当我尝试从我的 Compute Engine 服务器上做同样的事情时,对于我感兴趣的一些股票的请求总是失败,尽管它通常适用于大公司的选项,例如“aapl”或“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”的选项数据,但通常它适用于大公司。

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

【问题讨论】:

  • 我开始认为这是一个 Ubuntu 问题。在家里的 Ubuntu 机器上尝试它,我得到了与我在 Google Compute Engine 上相同的行为,而它在我的 Mac 上工作并且在 Ubuntu 上适用于“aapl”或“ge”。只是不确定为什么 Ubuntu 会拒绝小公司?雅虎端的延迟可能更高?也许雅虎以某种相关的方式对其进行了不同的路由?
  • 我想通了。这是 Pandas 0.15.2 的问题。我注意到我在我的 Mac 上运行 0.15.1,它正在工作,当我在 Ubuntu 机器上恢复到该版本时,它开始工作。我会将问题提交给 Pandas,以便他们知道。
  • 请相应地更新您的问题并将您自己的答案设置为有效答案。这有助于使问题更加准确和有用,从而更好地提出问题。

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2011-04-18
    • 2018-11-10
    • 2014-05-13
    • 1970-01-01
    • 1970-01-01
    • 2020-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多