在Python中通过http获取实时数据

时间:2015-07-12 19:24:37

标签: python

我有一个小问题,我想知道什么是最佳方法。 因此,我有一个Web服务/ API / Web链接,每隔X个时间(非特定时间)更新,我尝试编写一个小程序,每次更新内容时都会获取该数据。< / p>

我当前的程序每2秒访问一次Web链接以检索数据,但由于此服务并不总是每2秒更新一次,因此我将丢失数据。

有人能建议更有效的方法吗?我不确定这是否可行(或容易做到),但我正在考虑保持一个开放的连接并在每次更新服务时读取数据(这是否可能?)。 感谢。

这是我所拥有的样本(主要是伪代码)。

def getdata():
    threading.Timer(2.0, getdata).start()
    response = urllib2.urlopen('http://www.example.com/data.json')
    html = response.read()
    print 'read'

1 个答案:

答案 0 :(得分:2)

更新某些数据时,没有神奇的通用方法可以通知。您正在使用的服务需要明确支持;例如,Twitter有一个通常被称为“firehose”的端点,它将公共时间线传递给您。在此之前,除了轮询之外没有其他选择,因此如果您的服务没有模拟,您将需要继续进行轮询。