def find_by_scripy(uname): ''' 通过api爬取数据 存在mongodb--54api_weibo_v2---master_timeline_user 在存之前,先要判断数据库中有没有已经存在的uid,一旦uid已经存在,说明用户更新了uname 需要对数据库中该条数据进行更新,否则直接insert 返回uid ''' #print 'before scripy' item = get_item(uname) # 爬取数据 if item==None: return None user = item.to_dict() #print 'type(user):', type(user) try: uid = user['id'] user['_id'] = uid user_exist = collection.find_one({'_id': uid}) #print 'user_exist:', user_exist if user_exist: collection.update({'_id': uid}, {'$set': user}) #print 'mongodb update' else: #print 'user:'******'mongodb insert' #print 'uid:', uid except KeyError: #print 'uname changed' uid = None #print 'uid:', uid #print 'after scripy' return uid
def find_in_mongo(uname): user = collection.find_one({'name': uname}) if user: uid = user['id'] if uid==None or uid=='' or uid==0: print 'error uid in mongo:', uid else: uid = None return uid