Where is from "ERROR: Spider error processing <GET..." in scrapy?

Where is from "ERROR: Spider error processing <GET..." in scrapy?

我正在阅读之前蜘蛛启动的日志。我很想知道这个异常来自哪里以及我该如何处理它:

2019-04-12 22:00:55 [scrapy.core.scraper] ERROR: Spider error processing <GET https://www.website.com/next_page> (referer: https://www.website.com/prev_page)
Traceback (most recent call last):...

我查看了我项目中的文件 middlewares.pysettings.py 等,但我没有找到任何写有 logging.errorspider.logger.error 的行。即使在内置方法 def process_spider_exception(self, response, exception, spider):def process_exception(self, request, exception, spider): 中,我也找不到任何命令日志消息的行。看文档也搞不清楚,我也是

现在要开始行动了。如果我想知道它来自哪里,是因为我想尝试插入一些命令将 url 添加到一个文件中,这些文件专用于某种异常,这些异常会引起蜘蛛错误处理以分析它,更正它, 并从这个文件的这些特定 url 上再次启动蜘蛛,因为这比从一个 scrapy 日志文件更舒服。

除了想按它行动之外,我还想知道它在哪里以及它是如何工作的。

为了回答您的问题,该日志消息来自 scrapy 包中的 handle_spider_error 方法

core/scraper.py

关于查找错误源,提示通常是此错误日志附带的回溯。

您也可以遵循调用此 url 'https://www.website.com/next_page'

的代码