gpt4 book ai didi

python - Scrapy 超时和 Twisted.Internet.Error

转载 作者:太空宇宙 更新时间:2023-11-03 21:20:40 25 4
gpt4 key购买 nike

使用代理运行Scrapy,但有时抓取会在运行结束时遇到以下错误,并导致抓取完成时间延迟10秒以上。我怎样才能做到这样,如果Scrapy在任何时候遇到这些错误,它在检测到时会被完全忽略/通过,这样就不会浪费时间让整个爬虫停止运行?

RETRY_ENABLED = 假(已经在settings.py中设置。)

请求中的 URL 列表。许多代理设置为 https://而不是 http,想提一下以防万一,尽管在几乎所有情况下 https 都有效,所以我怀疑这是否严格是关于 https 与 http 的设置。

但仍然得到:

错误1:

  • 2019-01-20 20:24:02 [scrapy.core.scraper] DEBUG:从 <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_requestdefer.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'}] 打开 CONNECT 隧道

错误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] INFO:关闭蜘蛛(已完成)
  • 回溯(最近一次调用最后一次):
  • 文件“/usr/local/lib64/python3.7/site-packages/scrapy/core/downloader/middleware.py”,第 43 行,process_requestdefer.returnValue((yield download_func(request=request,spider=spider)))
  • twisted.web._newclient.ResponseNeverReceived:[twisted.python.failure.Failure twins.internet.error.ConnectionLost:与另一端的连接以非干净方式丢失:连接丢失。]

错误3:

  • 回溯(最近一次调用最后一次):
  • 文件“/usr/local/lib64/python3.7/site-packages/scrapy/core/downloader/middleware.py”,第 43 行,process_requestdefer.returnValue((yield download_func(request=request,spider=spider)))
  • twisted.web._newclient.ResponseNeverReceived:[twisted.python.failure.Failure twinsed.internet.error.ConnectionLost:与另一端的连接丢失。]

最佳答案

How can I make it so that if Scrapy runs into these errors at any point, it is ignored/passed completely and immediately when detected

情况已经如此。代理要么在几秒钟后而不是立即导致错误,要么直接超时。

如果您不愿意等待,可以考虑减少DOWNLOAD_TIMEOUT设置,但过去需要很长时间的响应,但工作可能会开始超时。

更好的方法可能是切换到更好的代理,或考虑智能代理(例如 Crawlera )。

关于python - Scrapy 超时和 Twisted.Internet.Error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54280793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com