框架原生去重机制源码解析与不足分析
导语
在网络爬虫和数据采集领域,去重机制是一个至关重要的环节。随着互联网的迅速发展,数据量呈爆炸式增长,如何在海量数据中高效地筛选出有价值且唯一的信息,成为了一个亟待解决的问题。去重机制正是为了解决这一问题而诞生的。
Scrapy原生去重机制源码解析与不足分析
Scrapy怎么使用去重机制的?
在构建scrapy.Request
请求时设置参数dont_filter=False
,settings
不需要设置DUPEFILTER_CLASS
,除非我们重构了原生方法
Scrapy原生去重机制源码解析
我们先找到实现去重的源码位置,从下图可以知道是在scrapy.dupefilters.RFPDupeFilter
RFPDupeFilter
类大致的框架与功能就是如下图所示,通过此图我们需要深入了解request_seen
和request_fingerprint
两个方法,它们是去重原理的实现。
定位到re