Scrapy使用Pipeline过滤重复数据

2018-03-24  本文已影响0人  MR_ChanHwang
  1. 在pipelines.py中自定义DuplicatesPipeline类:
class DuplicatesPipeline(object):
    """
    去重
    """

    def __init__(self):
        self.book_set = set()

    def process_item(self, item, spider):
        name = item['name']
        if name in self.book_set:
            raise DropItem("Duplicate book found:%s" % item)

        self.book_set.add(name)
        return item
ITEM_PIPELINES = {
    'example.pipelines.DuplicatesPipeline': 350,
}

即可实现去重。

上一篇下一篇

猜你喜欢

热点阅读