【问题标题】:Where is from "ERROR: Spider error processing <GET..." in scrapy?scrapy中的“错误:蜘蛛错误处理<GET ...”来自哪里?
【发布时间】:2019-04-14 11:56:47
【问题描述】:

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

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 日志文件中更舒服。

除了对它采取行动的愿望之外,我想知道它在哪里以及它是如何工作的。

【问题讨论】:

  • 如果没有完整的日志消息,很难理解你得到了什么样的异常。

标签: python logging scrapy error-logging


【解决方案1】:

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

core/scraper.py

关于查找错误源,提示通常是与此错误日志一起出现的回溯。

您也可以关注调用此 url 'https://www.website.com/next_page'的代码

【讨论】:

  • 谢谢,这就是它,毫无疑问。而且我认为在制作时写在里面并不是一个好主意。我会搜索如何回答这个问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-20
相关资源
最近更新 更多