用python scrapy 写东西用的小思路  Item Pipeline

1.---------------------------

最近在采百度贴吧,

思考的过重问题 与 采集原信息入库问题

至于重复问题本想 可以建一个url 放在数据库里.这样在pipelines 里入库前对比一下

现在想来可以直接用/p/ 后面的数据来对比了.因为后面的数据现也是唯一的.似乎好像是按时间上升的.这样数据的重复性唯与入库时间问题好像都可以解决了.

思路:

重复过滤器

假设我们的item里面的id字典是唯一的,但是我们的蜘蛛返回了多个相同id的item

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


信息来源地址:Scrapy笔记(6)- Item Pipeline  http://www.tuicool.com/articles/rmi222Q

你可能感兴趣的:(python)