首页 > 解决方案 > scrapy-splash 如何过滤重复项?

问题描述

使用 scrapy-splash 库渲染 JS 时。我们将其自定义 DUPEFILTER_CLASS 添加到 settings.py 文件中。

DUPEFILTER_CLASS = 'scrapy_splash.SplashAwareDupeFilter'

似乎这用于过滤请求,以便不发送太多请求并加快处理速度。但是,使用scrapy-splash过滤请求的基础是什么?是网址吗?

标签: scrapyscrapy-splash

解决方案


使用splash_request_fingerprint函数检测重复。通过查看代码和issue 900 (still open) ,会考虑 url,但是如果您想将它与具有相同 url 的其他请求区分开来,您可以选择将元参数传递给请求。但是我们必须查看scrapy.utils.request:request_fingerprint因为这也被调用了。

什么指纹的一部分:

什么不是指纹的一部分:

关注问题 900以保持最新是很有用的。在后面的评论中,一些使用/自定义指纹的方法和示例开始出现。


推荐阅读