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

来源:互联网 发布:爱名网域名过户 编辑:程序博客网 时间:2024/06/05 20:52

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

最近在采百度贴吧,

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

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

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

思路:

重复过滤器

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

from scrapy.exceptions import DropItemclass 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

0 0
原创粉丝点击