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)相关推荐

  1. js判断json有没有某值_JS中判断JSON数据是否存在某字段的方法 JavaScript中判断json中是否有某个字段...

    方式一 !("key" in obj) 方式二 obj.hasOwnProperty("key")  //obj为json对象. 实例: var jsonwor ...

  2. mysql中在表中insert数据时,有重复主键id时,变成update

    MySQL 自4.1版以后开始支持INSERT - ON DUPLICATE KEY UPDATE语法 例如:  id name sex age  1 kathy male 23  2 Javer f ...

  3. MySQL防止重复插入唯一限制的数据 4种方法

    MySQL防止重复插入唯一限制的数据,下面我们逐一分析 : 1.insert ignore into  当插入数据时,如出现错误时,如重复数据,将不返回错误,只以警告形式返回.所以使用ignore请确 ...

  4. 数据库不断有新数据插入, 导致分页查询数据重复的问题

    问题描述 首先, 查询数据时是按照数据的录入时间分页查询的, 最新的数据一直是第1页; 同时, 库表不断地有新数据写入, 这就导致了分页查询数据请求出现重复问题. 例如19:31分时分页查询请求第1页 ...

  5. 新增数据并发处理,避免重复数据插入

    写在前面 项目使用SpringBoot的多实例微服务 层级调用Controller -->Service-->Dao或者Mapper(Mybatis) 具体问题和解决方案 最近在做一个模块 ...

  6. 单机版MongoDB插入了亿万条数据之后...

    最近因为公司的一个业务迁移,需要对单机MongoDB做一个简单的测试,在写入了亿万条数据之后,数据库的性能还是受到了一些影响的,这里简单记录下. 因为是非关键业务,且通过统计得出每秒的写入请求数大约是 ...

  7. MySQL 大批量插入,如何过滤掉重复数据?

    在公司加班到八点,此为背景. 加班原因是上线,解决线上数据库存在重复数据的问题,发现了程序的bug,很好解决,有点问题的是,修正线上的重复数据. 线上库有6个表存在重复数据,其中2个表比较大,一个96 ...

  8. 1、excel常用技能(数据分列、数据快速浏览、转置、选择性粘贴运算、绘制对角线、单元格内换行、插入注解文字或图片)

    (1)将同一列中的数据分为不同类型的数据列 选中需要分列的数据单元格,选择工具栏中的"数据.分列.分隔符号.下一步.选择分隔符号(本例中是选中空格).下一步.完成". (2)将姓和 ...

  9. mysql c 更新 数据_Mysql:如果数据存在则更新,不存在则插入

    本篇文章转载自:https://www.cnblogs.com/Eric-zhao/p/6655994.html mysql语法支持如果数据存在则更新,不存在则插入,首先判断数据存在还是不存在的那个字 ...

最新文章

  1. 二叉树的后序遍历Python解法
  2. javafx 使用_使用JavaFX AnimationTimer
  3. 【BZOJ1815BZOJ1488】有色图图的同构,Polya计数+暴力
  4. synchronized 详解,偏向锁,轻量锁,重量锁
  5. VL53L0x TOF激光测距的 stm32 HAL库驱动代码
  6. jdbc连接rac的oracle数据库
  7. salt 服务启动失败
  8. linux 杀掉僵尸进程 (zombie process, defunct)
  9. [HZAU]华中农业大学第四届程序设计大赛网络同步赛
  10. 为了找出最好用的安卓模拟器,我发起了一项众测
  11. 完美解决浏览器主页被hao123劫持,打开浏览器时自动进入hao123主页怎么办
  12. PS学习_1-软件下载与破解
  13. 解决 WKWebView goback执行无效的bug
  14. “讯飞杯”合肥市第三十届青少年信息学奥林匹克竞赛(小学组)试题
  15. c语言为什么运行不出数据,程序运行后可以输入数据,但是之后为什么没有显示?...
  16. android抗锯齿的几个方法
  17. 一个好用的Outlook ost格式文件转pst文件的工具 (支持exchange2016)
  18. 如何撰写项目的解决方案
  19. 使用寄存器点亮一个LED灯 普中科技stm32(stm32f1103zeb6)
  20. Flutter Downloading CanvasKit 报错

热门文章

  1. 最小表示法 最大表示法
  2. 怎么判断ajax返回是否成功,如何判断jquery的ajax请求已经返回
  3. div上下展开收缩 html,js实现div层缓慢收缩与展开的方法
  4. 【以太坊智能合约】Embark Framework 开发基础篇
  5. es创建索引库,无法使用InetSocketTransportAddress
  6. 卸载后清理干净_想要清理你的Mac?选这几款软件就对了
  7. 计算机怎么恢复上一步,电脑怎么还原系统 电脑还原系统步骤盘点
  8. python发送短信接口_python发送短信和发送邮件
  9. python string模块安装_python String模块-阿里云开发者社区
  10. Adobe Acrobat 9.0“ PDFMaker无法找到Adobe PDF Printer 的打印驱动程序”解决办法