我想使用python在mongodb中插入唯一的抓取url

我想使用python在mongodb中插入唯一的抓取url,python,mongodb,scrapy-pipeline,Python,Mongodb,Scrapy Pipeline,我有独特的刮擦网址和存储在mongo数据库。我再次运行命令scrapy crawl spider\u name。它在db中存储相同的数据,我只想在mongo db中存储更新url,并且是唯一的。 这是我的密码 class NewsPipeline(object): def __init__(self): self.conn = pymongo.MongoClient( 'localhost', 27017 )

我有独特的刮擦网址和存储在mongo数据库。我再次运行命令scrapy crawl spider\u name。它在db中存储相同的数据,我只想在mongo db中存储更新url,并且是唯一的。 这是我的密码

class NewsPipeline(object):
   def __init__(self):
       self.conn = pymongo.MongoClient(
           'localhost',
           27017
     )
        db = self.conn['news_db']
        self.collection = db['urls_tb']
def process_item(self, item, spider):
    for url in item['url']:
        self.collection.insert(dict({'url_key':url}))

    return item
查询结果:

_id:5f817cee0548593d37491c9f

url\u密钥:https://example.com"

我只想再次插入唯一的url,需要找到哪个url是最新更新的url。
谢谢

创建一个实现1的自定义下载器中间件。process_request-检查项目是否已经存在于您的数据库中,如果已经存在,则发出IgnoreRequest以停止您的请求继续传播Through scapy引擎,否则处理新项目2。process_response-将项目持久化到数据库