mongodb在插入数据环节避免数据重复的方法(爬虫中的使用update)
生活随笔
收集整理的這篇文章主要介紹了
mongodb在插入数据环节避免数据重复的方法(爬虫中的使用update)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
mongo 去重
import pymongoclient = pymongo.MongoClient() collection=client.t.test# collection.insert({'title':'python','name':'deng','age':23}) data={'title':'go','name':'wang','age':45,'url':1} collection.update({'url':1},{'$set':data},True)# 上面的案例,表示如何url重復的話,url不更新,其他字典如果數據不一致就會更新。
?
爬蟲案例:
collection.update({'url':data['url'],'cover_url':data['cover_url']},{'$set':data},True) # coding=utf8 """ author:dengjiyun """ import pymongoclient=pymongo.MongoClient() collection = client.dou.doubanimport requests url='https://movie.douban.com/j/chart/top_list'params={'type':'11','interval_id':'100:90','action':'','start':'60','limit':'20' } headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Safari/537.36' }res=requests.get(url,params=params,headers=headers).json()for item in res:data={}# print(item['cover_url'])data['vote_count']=item['vote_count'] # 評論data['score']=item['score'] # 得分data['title']=item['title'] # 電影名data['url']=item['url'] # 詳情頁urldata['cover_url']=item['cover_url'] # 封面圖片data['rank'] =item['rank'] # 排名data['id'] =item['id'] # 電影iddata['release_date']=item['release_date'] # 發布日期print(item)# 不插入重復數據 collection.update()collection.update({'url':data['url'],'cover_url':data['cover_url']},{'$set':data},True) client.close()?
轉載于:https://www.cnblogs.com/knighterrant/p/10920308.html
總結
以上是生活随笔為你收集整理的mongodb在插入数据环节避免数据重复的方法(爬虫中的使用update)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分布式集群环境下,如何实现session
- 下一篇: 牛客OI周赛10-提高组:B-Taeye