只要使用過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
新的情況
我的小爬蟲其實只爬了一個頁面就出現這個錯誤,而且並沒有進行併發,也不會被封,而且幾分鐘前運行還正常。
經過排查發現,剛開了迅雷下載了很多文件,關了迅雷之後一切正常。
典型的多連接問題,當時出現錯誤的時候真的一臉蒙圈