1
我創建了一個scrappy爬蟲,但默認過濾器類RFPDupeFilte在應用程序中無法正常工作。爬蟲給了我很多重複的內容。如何創建自定義scrapy URL過濾器以避免重複?
,所以我嘗試下面的例子中, how to filter duplicate requests based on url in scrapy
但它沒有爲我工作。它給我一個很大的影響ImportError:沒有名爲scraper.custom_filters的模塊,即使我將它保存在settings.py的相同目錄下的custom_filters.py類中。
from scrapy.dupefilter import RFPDupeFilter
class SeenURLFilter(RFPDupeFilter):
"""A dupe filter that considers the URL"""
def __init__(self, path=None):
self.urls_seen = set()
RFPDupeFilter.__init__(self, path)
def request_seen(self, request):
if request.url in self.urls_seen:
return True
else:
self.urls_seen.add(request.url)
添加DUPEFILTER_CLASS常數settings.py中:在指定DUPEFILTER_CLASS = 'scraper.custom_filters.SeenURLFilter'
DUPEFILTER_CLASS = 'scraper.custom_filters.SeenURLFilter'
您必須共享您嘗試的代碼並顯示完整的錯誤消息。 – Marcs
好的,我只是更新了示例中的源代碼。 –
您可以將目錄結構添加到問題中嗎? –