2016-04-06 64 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)