2014-09-04 51 views
1

我想搜索推文,從狀態中提取screen_name並使用它來獲取該screen_name的過去最喜歡的推文。現在我不知道如何從狀態中提取screen_names,然後如何使用它來獲取收藏夾。這是我的代碼(問題是最後一行):如何從推文中提取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'

回答

2

沒有必要再浪費API調用, 您可以從內部數據元素取水的時候,即從作者,並在從它的JSON這樣的:

for i in search_results: 
    print i.author._json['screen_name'] 
0

試試這個:

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然後用它來獲取屏幕名稱。

+0

什麼是在第二屆最後一行鳴叫? – 2014-09-04 19:55:50

+0

這是拋出錯誤'狀態'對象沒有屬性'from_user_id'在你的代碼的第三行(在忽略什麼鳴叫之後)。我想我們必須做些像suchnt.SomethingToExtractScreenName。 – 2014-09-04 20:09:07

+0

@AbhishekSharma修改了代碼。你可以再試一次嗎? – ChillarAnand 2014-09-04 20:12:47

相關問題