twisted.internet.error.TimeoutError错误的解决方法
生活随笔
收集整理的這篇文章主要介紹了
twisted.internet.error.TimeoutError错误的解决方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
使用scapy 爬取的時候,少數請求鏈接會出現請求超時,當出現請求超時時,爬蟲會自動重試三次。若超過180s且三次后仍沒有得到數據,就會放棄請求出現twisted.internet.error.TimeoutError 錯誤。此時就出現了爬取失敗的情況。
錯誤原因:
當網絡無法滿足在180s內下載完所有的請求數量,就會出現此類錯誤。
解決辦法:
這里做個示例,具體情況具體分析
1、降低同時請求的數量
CONCURRENT_REQUESTS = 22、 設置合適的超時時間,
DOWNLOAD_TIMEOUT = 18003、下載中間件中,捕獲這個報錯,并返回request,讓它重新請求這個對象:
from twisted.internet.error import TimeoutError def process_exception(self, request, exception, spider):if isinstance(exception, TimeoutError):return request總結
以上是生活随笔為你收集整理的twisted.internet.error.TimeoutError错误的解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pycharm debug 断点调试
- 下一篇: scrapy设置代理的方法