一、原生
1、子產品
2、RFPDupeFilter方法
a、request_seen
核心:爬蟲每執行一次yield Request對象,則執行一次request_seen方法
作用:用來去重,相同的url隻能通路一次
實作:将url值變成定長、唯一的值,如果這個url對象存在,則傳回True表名已經通路過,若url不存在則添加該url到集合
1)、request_fingerprint
作用:對request(url)變成定長唯一的值,如果使用md5的話,下面的兩個url值不一樣
注意:request_fingerprint() 隻接收request對象
2)、request_seen
b、open
父類BaseDupeFilter中的方法,爬蟲開始時,執行
c、close
爬蟲結束時執行
d、log
記錄日志
e、from_settings
原理及作用:和pipelines中的from_crawler一緻
二、自定義
待續
1、配置檔案(settings.py)
2、自定義去重類(繼承BaseDupeFilter)
3、前提條件
yield request的對象
dont_filter不能為True,這個值預設為False