【发布时间】:2011-08-24 12:26:27
【问题描述】:
我必须从fxstreet 中提取数据 我用 firebug 提取了 HTML 代码,看起来网页正在使用 Comet 和 HTTP 流。
我想每秒用数据填写一本字典,而不必刷新页面。我是用 urllib.urlopen 做的,但我必须每秒进行一次查询。
有人知道从 Comet 和 http 流中提取数据的正确方法吗? 谢谢
【问题讨论】:
我必须从fxstreet 中提取数据 我用 firebug 提取了 HTML 代码,看起来网页正在使用 Comet 和 HTTP 流。
我想每秒用数据填写一本字典,而不必刷新页面。我是用 urllib.urlopen 做的,但我必须每秒进行一次查询。
有人知道从 Comet 和 http 流中提取数据的正确方法吗? 谢谢
【问题讨论】:
您可能希望使用gevent、Tornado 或Twisted 来编写异步HTTP 客户端来使用您的服务。有很多项目是为使用 Twitter 流 API 而构建的,您可能会从中寻找灵感:
twisted
twisted
asyncore、pycurl 或 tornado tornado
gevent
【讨论】:
我不是这方面的专家,但我知道 Comet 的工作方式是仅在时间接近限制或服务器发生某些变化时才响应请求。因此,您可以发出 Comet 请求并假设没有任何变化,除非 Comet 请求返回了某些内容。
因此,基本上,您可以发出 Comet 请求并将 Comet 请求返回的数据存储在表中。通过另一个请求(可以每秒发送一次),检查表中是否有新添加的数据,如果找到则返回。
这是你所期望的吗?
【讨论】:
只需在同一瞬间提取数据并再次实例化查询,而不是在 1 秒内 - Comet 只是意味着服务器在有新数据可用之前不会响应。
【讨论】: