只要使用过requests模块,想必对Max retries exceeded with url[Errno 10054]
错误都不会太陌生。
这是requests常见的一种错误,原因就是连接太多没有关闭导致socket超时。
一般的解读是urllib3的问题,因为requests是基于urllib3的,urllib3默认不支持长连接即keep-alive
解决方案一
requests.adapters.DEFAULT_RETRIES = 5
解决方案二
s = requests.session()
s.keep_alive = False
新的情况
我的小爬虫其实只爬了一个页面就出现这个错误,而且并没有进行并发,也不会被封,而且几分钟前运行还正常。
经过排查发现,刚开了迅雷下载了很多文件,关了迅雷之后一切正常。
典型的多连接问题,当时出现错误的时候真的一脸蒙圈