我想搜索这些推文,从状态中提取screen_name并使用它来获取该screen_name过去喜欢的推文。现在,我不知道如何从状态中提取screen_names,然后如何使用它来获取过去的收藏夹。这是我的代码(问题出在最后一行):
import tweepy
consumer_key = ''
consumer_secret = ''
access_token = ''
access_secret = ''
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_secret)
api = tweepy.API(auth)
search_results = tweepy.Cursor(api.search,q="Ganesh World").items()
for i in search_results:
print i.text.encode('utf-8')
print api.favorites([i.screen_name])
它抛出AttributeError:Status对象没有属性'screen_name'
无需浪费其他API调用,您可以从内部数据元素中获取它,即从author那里,也可以从其json中获取它,如下所示:
for i in search_results:
print i.author._json['screen_name']
尝试一下:
for i in search_results:
print i.text.encode('utf-8')
user_details = api.get_user(user_id = i.from_user_id)
print api.favorites([user_details.screen_name])
您正在尝试直接从推文中获取screen_name
。首先,您应该获取id
,然后使用它来获取屏幕名称。
您必须执行:i.user.screen_name