我正在为学校构建一个爬虫,但我在输出中得到了所有这些重复项。 scrapy 有没有办法从我的输出中删除重复项。我现有的代码在下面。代码非常简单,因为我刚开始使用抓取工具。
`import scrapy
from ..items import TrouwItem
class TelegraafSpider(scrapy.Spider):
name = 'Trouw'
start_urls = [
'www.website.nl'
]
def parse(self, response,):
items = TrouwItem()
all_articles = response.css('#main-content')
for articles in all_articles:
straatrace = articles.xpath(path).extract()
straatraces = articles.xpath(path).extract()
items['straatraces'] = straatraces
items['straatrace'] = straatrace
yield items`
我没有尝试太多,因为现在没有太多可以帮助我的东西
您可以使用
DUPEFILTER_CLASS
文件中的 settings.py
设置来执行此操作。此设置允许您指定将用于过滤掉重复请求的自定义 dupefilter 类。
您还可以使用内置的
RFPDupeFilter
类,它根据 URL 过滤掉重复的请求。要使用此类,请将以下行添加到您的 settings.py 文件中:
DUPEFILTER_CLASS = 'scrapy.dupefilters.RFPDupeFilter'
这应该可以帮助您过滤掉重复的请求并防止它们出现在您的输出中。