爬虫日记(61):Scrapy的数据去重处理管道

Posted caimouse

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬虫日记(61):Scrapy的数据去重处理管道相关的知识,希望对你有一定的参考价值。

在开发爬虫的过程中,经常会遇到有很多数据是重复的,那么这些重复的数据,我们只需要其中一条就可以了,并不需要全部进行保存,这个过程就叫做去重处理。这样做不仅可以节省处理时间,还可以节省大量储存空间。

 

在Scrapy里去重是比较简单的,如果数据不大可以使用set集合就可以解决,如果比较大的可以使用数据库的方式去重。这里主要介绍使用set集合的方法来去重,因此先要定义一个管道类:

class AuthorDupPipeline:

    def __init__(self):

        self.authors = set()

    def process_item(self, item, spider):

        adapter = ItemAdapter(item)

        if adapter.get(\'author\') in self.authors:

以上是关于爬虫日记(61):Scrapy的数据去重处理管道的主要内容,如果未能解决你的问题,请参考以下文章

爬虫日记(86):Scrapy的Scheduler类

爬虫日记(86):Scrapy的Scheduler类

爬虫日记(87):Scrapy的RFPDupeFilter类(一)

爬虫日记(88):Scrapy的Downloader类

爬虫日记(92):Scrapy的下载结果回应分析

爬虫日记(91):Scrapy的ScrapyAgent类