我正在收集有关网站列表的统计信息,并且为了简单起见,我正在使用它的请求。这是我的代码:
data=[]
websites=['http://google.com', 'http://bbc.co.uk']
for w in websites:
r= requests.get(w, verify=False)
data.append( (r.url, len(r.content), r.elapsed.total_seconds(), str([(l.status_code, l.url) for l in r.history]), str(r.headers.items()), str(r.cookies.items())) )
现在,我希望 requests.get
在 10 秒后超时,这样循环就不会卡住。
这个问题 以前 也很有趣,但没有一个答案是干净的。我会为此付出一些赏金以获得一个不错的答案。
我听说也许不使用 requests 是个好主意,但是我应该如何获得 requests 提供的好东西。 (元组中的那些)
原文由 Kiarash 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用 eventlet 怎么样?如果您想在 10 秒后使请求超时,即使正在接收数据,此代码段也适合您: