【发布时间】:2019-08-06 00:16:44
【问题描述】:
我正在使用 Scrapy,并且希望能够检查我的数据库中的 should_continue 标志,如果它是错误的,则引发 CloseSpider 异常。但是,根据这里的文档:http://doc.scrapy.org/en/latest/topics/exceptions.html,CloseSpider 只能从parse 或parse_item 调用。
我可以在每个 parse 和 parse_item 中为每个蜘蛛添加一个函数,但这违背了 DRY 原则。我可以以某种方式创建一个始终在调用这些函数之前调用的 parse 和 parse_item 中间件吗?
我无法使用 DOWNLOADER_MIDDLEWARE 或 SPIDER_MIDDLEWARE 触发它,正确的方法是什么?
【问题讨论】:
-
创建一个函数并在
parse和parse_item中运行它。这样你就不会重复自己 - 你只有一个功能 - 但你会在两个地方使用它 -parse和parse_item。
标签: python scrapy middleware