昊天SEO

scrapy 爬虫去重复的问题?

scrapy框架下可以在pipeline中写一个Duplicates filter,啥也不说了,上代码:

from scrapy.exceptions import DropItem

class DuplicatesPipeline(object):

    def __init__(self):
        self.ids_seen = set() #注意到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.168seo.cn/python/2821.html

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址