抓取新浪微博数据存入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
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。