Python Scrapy重复项过滤器是否可以与作业保持一致? 从scrapy.exceptions导入DropItem 类重复SPIPELINE(对象): 定义初始化(自): self.ids_seen=set() def过程_项目(自身、项目、蜘蛛): 如果在self.ids_中看到项目['id']: raise DropItem(“找到重复项:%s”%item) 其他: self.ids\u seen.add(项['id']) 退货项目

Python Scrapy重复项过滤器是否可以与作业保持一致? 从scrapy.exceptions导入DropItem 类重复SPIPELINE(对象): 定义初始化(自): self.ids_seen=set() def过程_项目(自身、项目、蜘蛛): 如果在self.ids_中看到项目['id']: raise DropItem(“找到重复项:%s”%item) 其他: self.ids\u seen.add(项['id']) 退货项目,python,web-scraping,scrapy,web-crawler,scrapy-pipeline,Python,Web Scraping,Scrapy,Web Crawler,Scrapy Pipeline,以上代码来自Scrapy官方网站: 用于筛选重复项 而且正如零碎的文件所暗示的那样, 要暂停并恢复爬行器,我需要使用作业系统 所以我很好奇Scrapy Jobs系统是否能将重复项过滤器持久化到它的目录中。实现duplicates筛选器的方法非常简单,我对此表示怀疑。您只需实现管道,以便它读取JOBDIR设置,定义该设置后,管道: 从JOBDIR目录中的某个文件读取self.ids\u seen的初始值 在运行时,它会在向集合中添加新ID时更新该文件

以上代码来自Scrapy官方网站: 用于筛选重复项

而且正如零碎的文件所暗示的那样, 要暂停并恢复爬行器,我需要使用作业系统


所以我很好奇Scrapy Jobs系统是否能将重复项过滤器持久化到它的目录中。实现duplicates筛选器的方法非常简单,我对此表示怀疑。

您只需实现管道,以便它读取
JOBDIR
设置,定义该设置后,管道:

  • JOBDIR
    目录中的某个文件读取
    self.ids\u seen
    的初始值

  • 在运行时,它会在向集合中添加新ID时更新该文件