twisted.internet.error.TimeoutError错误的解决方法
生活随笔
收集整理的這篇文章主要介紹了
twisted.internet.error.TimeoutError错误的解决方法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
使用scapy 爬取的時候,少數(shù)請求鏈接會出現(xiàn)請求超時,當出現(xiàn)請求超時時,爬蟲會自動重試三次。若超過180s且三次后仍沒有得到數(shù)據(jù),就會放棄請求出現(xiàn)twisted.internet.error.TimeoutError 錯誤。此時就出現(xiàn)了爬取失敗的情況。
錯誤原因:
當網(wǎng)絡無法滿足在180s內(nèi)下載完所有的請求數(shù)量,就會出現(xiàn)此類錯誤。
解決辦法:
這里做個示例,具體情況具體分析
1、降低同時請求的數(shù)量
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错误的解决方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pycharm debug 断点调试
- 下一篇: scrapy设置代理的方法