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)相关推荐
- js判断json有没有某值_JS中判断JSON数据是否存在某字段的方法 JavaScript中判断json中是否有某个字段...
方式一 !("key" in obj) 方式二 obj.hasOwnProperty("key") //obj为json对象. 实例: var jsonwor ...
- mysql中在表中insert数据时,有重复主键id时,变成update
MySQL 自4.1版以后开始支持INSERT - ON DUPLICATE KEY UPDATE语法 例如: id name sex age 1 kathy male 23 2 Javer f ...
- MySQL防止重复插入唯一限制的数据 4种方法
MySQL防止重复插入唯一限制的数据,下面我们逐一分析 : 1.insert ignore into 当插入数据时,如出现错误时,如重复数据,将不返回错误,只以警告形式返回.所以使用ignore请确 ...
- 数据库不断有新数据插入, 导致分页查询数据重复的问题
问题描述 首先, 查询数据时是按照数据的录入时间分页查询的, 最新的数据一直是第1页; 同时, 库表不断地有新数据写入, 这就导致了分页查询数据请求出现重复问题. 例如19:31分时分页查询请求第1页 ...
- 新增数据并发处理,避免重复数据插入
写在前面 项目使用SpringBoot的多实例微服务 层级调用Controller -->Service-->Dao或者Mapper(Mybatis) 具体问题和解决方案 最近在做一个模块 ...
- 单机版MongoDB插入了亿万条数据之后...
最近因为公司的一个业务迁移,需要对单机MongoDB做一个简单的测试,在写入了亿万条数据之后,数据库的性能还是受到了一些影响的,这里简单记录下. 因为是非关键业务,且通过统计得出每秒的写入请求数大约是 ...
- MySQL 大批量插入,如何过滤掉重复数据?
在公司加班到八点,此为背景. 加班原因是上线,解决线上数据库存在重复数据的问题,发现了程序的bug,很好解决,有点问题的是,修正线上的重复数据. 线上库有6个表存在重复数据,其中2个表比较大,一个96 ...
- 1、excel常用技能(数据分列、数据快速浏览、转置、选择性粘贴运算、绘制对角线、单元格内换行、插入注解文字或图片)
(1)将同一列中的数据分为不同类型的数据列 选中需要分列的数据单元格,选择工具栏中的"数据.分列.分隔符号.下一步.选择分隔符号(本例中是选中空格).下一步.完成". (2)将姓和 ...
- mysql c 更新 数据_Mysql:如果数据存在则更新,不存在则插入
本篇文章转载自:https://www.cnblogs.com/Eric-zhao/p/6655994.html mysql语法支持如果数据存在则更新,不存在则插入,首先判断数据存在还是不存在的那个字 ...
最新文章
- 二叉树的后序遍历Python解法
- javafx 使用_使用JavaFX AnimationTimer
- 【BZOJ1815BZOJ1488】有色图图的同构,Polya计数+暴力
- synchronized 详解,偏向锁,轻量锁,重量锁
- VL53L0x TOF激光测距的 stm32 HAL库驱动代码
- jdbc连接rac的oracle数据库
- salt 服务启动失败
- linux 杀掉僵尸进程 (zombie process, defunct)
- [HZAU]华中农业大学第四届程序设计大赛网络同步赛
- 为了找出最好用的安卓模拟器,我发起了一项众测
- 完美解决浏览器主页被hao123劫持,打开浏览器时自动进入hao123主页怎么办
- PS学习_1-软件下载与破解
- 解决 WKWebView goback执行无效的bug
- “讯飞杯”合肥市第三十届青少年信息学奥林匹克竞赛(小学组)试题
- c语言为什么运行不出数据,程序运行后可以输入数据,但是之后为什么没有显示?...
- android抗锯齿的几个方法
- 一个好用的Outlook ost格式文件转pst文件的工具 (支持exchange2016)
- 如何撰写项目的解决方案
- 使用寄存器点亮一个LED灯 普中科技stm32(stm32f1103zeb6)
- Flutter Downloading CanvasKit 报错
热门文章
- 最小表示法 最大表示法
- 怎么判断ajax返回是否成功,如何判断jquery的ajax请求已经返回
- div上下展开收缩 html,js实现div层缓慢收缩与展开的方法
- 【以太坊智能合约】Embark Framework 开发基础篇
- es创建索引库,无法使用InetSocketTransportAddress
- 卸载后清理干净_想要清理你的Mac?选这几款软件就对了
- 计算机怎么恢复上一步,电脑怎么还原系统 电脑还原系统步骤盘点
- python发送短信接口_python发送短信和发送邮件
- python string模块安装_python String模块-阿里云开发者社区
- Adobe Acrobat 9.0“ PDFMaker无法找到Adobe PDF Printer 的打印驱动程序”解决办法