python - requests整个请求超时?

von4xj4u  于 2023-06-20  发布在  Python
关注(0)|答案(2)|浏览(127)

我正在抓取许多网站的数据,但有些链接永久冻结我的脚本。这不应该发生,因为我使用了这样的超时:

page = requests.get(url,timeout=4)

我想为整个请求设置一个超时。所以当请求花费4秒时,它将停止尝试。我搜索了requests文档,发现了读取和连接超时的代码:

r = requests.get(url, timeout=(3.05, 27))

然而,当我尝试使用它时,我得到了一个类型错误:

Timeout value connect was (3.05, 27), but it must be an int or float.

我怎样才能得到我想要的暂停?

cnwbcb6i

cnwbcb6i1#

基于与docker相关的issue here,这是python-requests中的一个bug,已在python-requests version 2.4.3-4中修复。升级到最新版本,你应该没问题。
如果有pip,请使用pip install -U requests

5cg8jx4n

5cg8jx4n2#

AntoineGa在5月12日评论道
https://github.com/robotframework/robotframework/issues/4761
将urllib3降级到1.26.15,它对我有效

pip install urllib3==1.26.15

相关问题