最近自己的采集程序报了一个timeouterror:[winerror 10060]连接尝试失败,因为连接器在一段时间后没有正确答复,或者连接的主机没有响应
的错误,经过查找资料,找到了如下的解决方法:
需要在request.get()函数中加个timeout参数,如下所示:
req = requests.get(url, headers=headers, proxies=proxies, timeout=5 )
timeout 是用作设置响应时间( 单位:秒 )的,可以设置一个float或者一个tuple参数,响应时间分为连接时间和读取时间,timeout(3,7)表示的连接时间是3秒,响应时间是7秒
如果直接使用上述方法不行,可以再进一步修改为如下所示:
req = requests.get(url, headers=headers, proxies=proxies, timeout=(3,7))
如果设置后仍然解决不了,可能是目标服务器限制IP访问的问题了,需要找一个动态代理池去解决拒绝访问的问题,关于这个方面可以找相关资料去解决。
参考:https://www.pythonf.cn/read/3351
https://github.com/jhao104/proxy_pool