1. 程式人生 > >scrapy框架--管道類過濾專案相同ID部分

scrapy框架--管道類過濾專案相同ID部分

複製過濾器

用於查詢重複專案並刪除已處理的專案的過濾器。假設我們的專案具有唯一的ID,但是我們的蜘蛛會返回具有相同id的多個專案:

from scrapy.exceptions import DropItem

class DuplicatesPipeline(object):

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

    def process_item(self, item, spider):
        if item['id'] in self.ids_seen:
            丟擲、返回
            raise DropItem("Duplicate item found: %s" % item)
        else:
            self.ids_seen.add(item['id'])
            return item




連結:https://www.jianshu.com/p/8d65da080c47