2016-04-06 92 views
1

我有我需要獲取的推文的具體狀態ID列表。 的tweepy文檔提供了以下內容:使用tweepy獲取具有特定狀態ID的推文

API.get_status(id) 

Returns a single status specified by the ID parameter. 
Parameters: id – The numerical ID of the status. 
Return type: Status object 

我不知道如何使用這個或找到任何的例子。 這甚至是正確的嗎?

我的ID列表是2240個條目,看起來是這樣的:從微博的「in_response_to_status_id」字段獲得

response_ids = [717289507981107201, 717289501337509888, ..., 716684885411237888] 

這些ID,我已經有了(我想匹配我的微博到他們爲迴應而寫的推文)。

我基本上想寫類似

for id in response_ids: 
    tweet = API.get_status(id) 

如何做到這一點,還是這個是否可行建議任何幫助,非常感謝。

回答

0

認爲我已經完成了。

get_status似乎是正確的使用,雖然我最初有一些分頁錯誤的問題。我砍死在回答另一個similar problem發現想出這個解決方案的一些代碼:

def paginate(iterable, page_size): 
    while True: 
     i1, i2 = itertools.tee(iterable) 
     iterable, page = (itertools.islice(i1, page_size, None), 
       list(itertools.islice(i2, page_size))) 
     if len(page) == 0: 
      break 
     yield page 

index = 0 
for page in paginate(response_ids, 1): 
    result = api.get_status(response_ids[index])._json 
    index += 1 
0

這是更好地使用「statuses_lookup」命令。更多信息請見以下鏈接http://docs.tweepy.org/en/v3.5.0/api.html#API.statuses_lookup

在運行下面的程序之前,獲取使用者密鑰和令牌。

import tweepy 
consumer_key = xxxx 
consumer_secret = xxxx 
access_token = xxxx 
access_token_secret = xxxx 

auth = tweepy.OAuthHandler(consumer_key, consumer_secret) 
auth.set_access_token(access_token, access_token_secret) 

api = tweepy.API(auth) 

tweets = api.statuses_lookup(id_list) # id_list is the list of tweet ids 
tweet_txt = [] 
for i in tweets: 
    tweet_txt.append(i.text)