mongodb在插入数据环节避免数据重复的方法(爬虫中的使用update)
2024-09-01 22:20:22
mongo 去重
import pymongo client = 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 pymongo client=pymongo.MongoClient()
collection = client.dou.douban import 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'] # 详情页url
data['cover_url']=item['cover_url'] # 封面图片
data['rank'] =item['rank'] # 排名
data['id'] =item['id'] # 电影id
data['release_date']=item['release_date'] # 发布日期 print(item)
# 不插入重复数据 collection.update()
collection.update({'url':data['url'],'cover_url':data['cover_url']},{'$set':data},True)
client.close()
最新文章
- BOM DOM Event事件笔记....
- Xamarin的不归路-安卓模拟器启动慢&;没有虚拟键盘
- jQuery.clean()方法源码分析(一)
- django写的留言板
- 互斥锁(Mutex)
- 5.HotSpot的算法实现
- 解决xcode6_beta没有代码提示的方法
- $.get的重写
- input[type=text]点击之后无边框, 一进页面就显示光标
- NYOJ128前缀式计算
- 不要怂,就是GAN (生成式对抗网络) (二)
- html转换为纯文本,支持撇号
- laravel 日志
- phpcms页面替换
- String to Integer (atoi) - 字符串转为整形,atoi 函数(Java )
- UWP 在Xaml中使用cu和fcu资源
- SSM-SpringMVC-15:SpringMVC中小论注解式开发之通配符篇
- python学习06
- this inspection detects names that should resolved but don't. Due to dynamic dispatch and duck typing, this is possible in a limited but useful number of cases. Top-level and class-level items are sup
- 常用的NoSQL数据库类型简述
热门文章
- Harry Potter and the Hide Story(hdu3988)
- Improved Variational Inference with Inverse Autoregressive Flow
- DEEP DOUBLE DESCENT: WHERE BIGGER MODELS AND MORE DATA HURT
- 使用 DML语句,对 “锦图网” 数据进行操作,聚合函数练习
- 编写Java程序,实现字符串统计和处理
- RSA非对称加密算法实现:C#
- Swoole 中使用 PDO 连接池、Redis 连接池、Mysqli 连接池
- python (伪)私有属性和私有方法
- [ flask ] flask-restful 实现嵌套的有关系的输出字段
- linux 三剑客(持续更新)排版后续再说,边学边记笔记