抓取新浪微博数据存入MongoDB,避免重复插入微博数据的方法

def getMyDatalist():
#id这个key
key = str(u'id').decode('utf-8')
#存储旧数据的id列表
old_ids = []
#存储新微博的列表
extr_wb = []
#从MongoDB上获取的数据
old_datalist = weibodata.find()
for old in old_datalist:
old_ids.append(old[key])

#从微博上抓取新数据
data = client.statuses.home_timeline.get()
new_datalist = data.statuses
for new in new_datalist:
if new[key] not in old_ids:
extr_wb.append(new)
weibodata.insert(extr_wb,save=True)

 

思路:

1.先从MongoDB中获取旧的微博数据,将所有的微博数据的id存入一个列表old_ids

2.从微博抓取新数据,遍历判断微博id是否是old_ids没有的,那么将微博加入一个存放新插入数据的列表extr_wb

3.执行批量插入到MongoDB

转载于:https://www.cnblogs.com/wuxinqiu/p/3835274.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值