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