python requests 设置读取超时时间

作者:J.sky · 发表于:
2023-08-02T23:11:49.000000Z
· 更新于:
2023-08-13T22:54:57.654468Z
· Tag: python requests

python中的requests库极大的方便了采集中的网络请求,但是在采集中会遇到一种比较极端的情况:请求的读取超时。这种情况呀怎么解决?

问题现场

多线程批量采集的过程中,会有一些线程长时间卡死,也不抛出错误也不停止,后来发现是读取内容很慢时间很长,本来想通过结束线程来断开这个连接,但是终止一个python的线程并不那么简单,我搜遍了全网询问了AI,并没有什么满意的结果。所以只好从requests.get()下手了,看是只发现了一个连接超时的设置方法:

response = requests.get(feed_url, timeout=5)

这段代码的意思是连接超时就会抛出错误,我们使用try就可以捕获进行相关的操作,但是我需要的读取超时!

问题解决

后来在网上搜到timeout还可以设置一个元组,例如:

response = requests.get(feed_url, timeout=(5,5))

切记,后边的那个5,就是读取超时!至此,连接后读取时间过长的问题就可以抛出了。