python requests 爬虫超时的问题解决

2020-03-04  本文已影响0人  python都干了些什么啊
import requests
from requests.adapters import HTTPAdapter
 
session = requests.Session()
session.mount('http://', HTTPAdapter(max_retries=3))
session.mount('https://', HTTPAdapter(max_retries=3))
 
session.get('http://example.com', timeout=5)
    # 重试算法, _observed_erros就是第几次重试,每次失败这个值就+1.
    # backoff_factor = 0.1, 重试的间隔为[0.1, 0.2, 0.4, 0.8, ..., BACKOFF_MAX(120)]

从源码得知,backoff_factor 是有自己的算法,所以不用重写 urllib3 的 Retry。
但如果需要设置 max_retries.respect_retry_after_header 那还是得重写,因为 max_retries 是有条件的,上面这句设置为False ,应该就是无条件重试了。

上一篇 下一篇

猜你喜欢

热点阅读