如何从我的 scrapy spider 结果中删除重复项

问题描述 投票:0回答:1

我正在为学校构建一个爬虫,但我在输出中得到了所有这些重复项。 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`

我没有尝试太多,因为现在没有太多可以帮助我的东西

python web-scraping scrapy pycharm
1个回答
0
投票

您可以使用

DUPEFILTER_CLASS
文件中的
settings.py
设置来执行此操作。此设置允许您指定将用于过滤掉重复请求的自定义 dupefilter 类。

您还可以使用内置的

RFPDupeFilter
类,它根据 URL 过滤掉重复的请求。要使用此类,请将以下行添加到您的 settings.py 文件中:

DUPEFILTER_CLASS = 'scrapy.dupefilters.RFPDupeFilter'


这应该可以帮助您过滤掉重复的请求并防止它们出现在您的输出中。

© www.soinside.com 2019 - 2024. All rights reserved.