美文网首页
Item pipeline去重

Item pipeline去重

作者: 垃圾桶边的狗 | 来源:发表于2019-02-24 20:04 被阅读0次
    “from scrapy.exceptions import DropItem
    
    
         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”
    
    
    

    对上述代码解释如下:
    ● 增加构造器方法,在其中初始化用于对书名去重的集合。
    ● 在process_item方法中,先取出item的name字段,检查书名是否已在集合book_set中,如果存在,就是重复数据,抛出DropItem异常,将item抛弃;否则,将item的name字段存入集合,返回item。”

    摘录来自: 刘硕. “精通Scrapy网络爬虫。” iBooks.

    相关文章

      网友评论

          本文标题:Item pipeline去重

          本文链接:https://www.haomeiwen.com/subject/eaibyqtx.html