天天看点

抓取新浪微博数据存入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

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