在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)
答案 0 :(得分:0)
我想我发现了这个问题。我需要保持一个开放的http会话。这样我可以更持续地获得数据。这样做的最佳方法是什么?我做了#34; http = requests.Session()"并立即使用请求。