如何从Spider手动将URL添加到DupeFilter

时间:2018-03-22 15:56:30

标签: python scrapy scrapy-spider

我目前正在努力寻找一种方法来访问DupeFilter内的Spider对象。

如果我可以访问它,那么我可以在指纹集中添加另一个指纹。

1 个答案:

答案 0 :(得分:1)

所以,看起来你必须深入挖掘才能进入DupeFilterself.crawler.engine.slot.scheduler.df

因此添加指纹将如下所示:

def parse_page(self, response):
    # ...

    dupe_filter = self.crawler.engine.slot.scheduler.df
    dummy_request = Request('http://example.com/thing/9964')
    fingerprint = dupe_filter.request_fingerprint(dummy_request)
    dupe_filter.fingerprints.add(fingerprint)

    # ...