python - 请求整个请求超时?
python - requests timeout for the whole request?
我正在抓取许多站点以获取数据,但某些链接永久冻结了我的脚本。这不应该发生,因为我使用了这样的超时:
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.
如何获得我想要的超时时间?
基于与 docker 相关的 issue here,它是 python-requests
中的错误,已在 python-requests version 2.4.3-4
中修复。升级到最新版本应该没问题。
如果你有 pip 使用 pip install -U requests
我正在抓取许多站点以获取数据,但某些链接永久冻结了我的脚本。这不应该发生,因为我使用了这样的超时:
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.
如何获得我想要的超时时间?
基于与 docker 相关的 issue here,它是 python-requests
中的错误,已在 python-requests version 2.4.3-4
中修复。升级到最新版本应该没问题。
如果你有 pip 使用 pip install -U requests