如何从推文中提取screen_name并获取该用户的所有过去收藏?
我想搜索推文,从状态中提取出用户名(screen_name),然后用这个用户名去获取过去的收藏推文。不过我不知道怎么从状态中提取出用户名,也不知道怎么用它去获取过去的收藏。这是我的代码(问题出在最后一行):
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: 状态对象没有'screen_name'这个属性。
3 个回答
0
你需要这样做:
i.user.screen_name
1
试试这个:
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
(标识符),然后再用这个标识符去获取屏幕名称。
2
没必要再浪费一次API调用了,
你可以直接从内部的数据元素中获取,比如从作者那里,然后再从它的json中这样获取:
for i in search_results:
print i.author._json['screen_name']