使用代理运行Scrapy,但有时在运行结束时爬网会遇到以下错误,并导致爬网完成时间延迟10秒钟以上。我该如何做,以便如果Scrapy在任何时候遇到这些错误,在被检测到时都会被完全忽略/立即通过,从而不会浪费时间使整个搜寻器停滞不前?
RETRY_ENABLED =假
(已经在settings.py中设置。)
请求中的网址列表。许多代理都设置为https://而不是http,但我想提到incase,尽管在大多数情况下https都可以使用,所以我怀疑这完全是关于设置https vs http。
但仍然得到:
错误1:
- 2019-01-20 20:24:02 [scrapy.core.scraper]调试:从<200>报废
- ------------花了8秒------------------
- 2019-01-20 20:24:10 [scrapy.proxies]信息:删除失败的代理
- 2019-01-20 20:24:10 [scrapy.core.scraper]错误:下载错误
- 回溯(最近通话最近一次):
- 文件“ /usr/local/lib64/python3.7/site-packages/scrapy/core/downloader/middleware.py”,第43行,在process_request中
defer.returnValue((yield download_func(request = request,spider = spider)))
- scrapy.core.downloader.handlers.http11.TunnelError:无法使用代理ukimportantd2.fogldn.com:10492 [{'status':504,'reason':b'Gateway Time-out'}打开代理隧道
错误2:
- 2019-01-20 20:15:46 [scrapy.proxies]信息:删除失败的代理
- 2019-01-20 20:15:46 [scrapy.core.scraper]错误:下载错误
- ------------花了12秒------------------
- 2019-01-20 20:15:58 [scrapy.core.engine]信息:关闭蜘蛛(完成)
- 回溯(最近通话最近一次):
- 文件“ /usr/local/lib64/python3.7/site-packages/scrapy/core/downloader/middleware.py”,第43行,在process_request中
defer.returnValue((yield download_func(request = request,spider = spider)))
- twisted.web._newclient.ResponseNeverReceived:[twisted.python.failure.Failure twisted.internet.error.ConnectionLost:与另一方的连接以一种非干净的方式丢失:连接丢失。]
错误3:
- 回溯(最近通话最近一次):
- 文件“ /usr/local/lib64/python3.7/site-packages/scrapy/core/downloader/middleware.py”,第43行,在process_request中
defer.returnValue((yield download_func(request = request,spider = spider)))
- twisted.web._newclient.ResponseNeverReceived:[twisted.python.failure.Failure twisted.internet.error.ConnectionLost:与对方的连接丢失了。]