0

在 Python 中从服务器请求常量数据的最佳方式是什么?我已经尝试过使用 Urllib3,但由于某种原因,一段时间后 python 脚本停止了。而且我也在尝试 urllib2(见下面的代码),但我注意到有时会有很大的延迟(使用 urllib3 并没有那么频繁地发生)并且响应不是每 0.5 秒一次(有时是每 6 秒一次)。我能做些什么来解决这个问题?

import socket
import urllib2
import time

# timeout in seconds
timeout = 10
socket.setdefaulttimeout(timeout)

while True:
    try:
        # this call to urllib2.urlopen now uses the default timeout
        # we have set in the socket module
        req = urllib2.Request('https://www.okcoin.com/api/v1/future_ticker.do?symbol=btc_usd&contract_type=this_week')
        response = urllib2.urlopen(req)
        r = response.read()

        req2 = urllib2.Request('http://market.bitvc.com/futures/ticker_btc_week.js')
        response2 = urllib2.urlopen(req2)
        r2 = response2.read()
    except:
        continue

    print r + str(time.time())
    print r2 + str(time.time())
    time.sleep(0.5)
4

1 回答 1

0

我想我找到了问题所在。我需要保持一个开放的 http 会话。这样我就可以更连续地获取数据。这样做的最佳方法是什么?我做了“http = requests.Session()”并现在使用请求。

于 2015-02-09T21:14:50.277 回答