2015-11-07 60 views
0

请帮忙。我是python的新手。我想从用户时间线中收回推文。我使用了下面的代码。如何在python中安装twitter4j软件包(java)的替代品?

api = twitter.Api(consumer_key, consumer_secret, access_token, access_secret) 
tweets = api.GetUserTimeline(screen_name = user.screen_name,count = 500) 

我怎么会注意到它从twitter时间轴的第一页只收回了200条推文。我需要500条推文。所以代码应该遍历3页来给出500条推文。有没有这样做的功能。请帮忙。卡住了2天。请帮助

回答

2

每个API通话只能接收200条推文。你可以做的是保存最古老的推特ID,并获取比你保存的推特ID更早的推文。这可以让你任意数量的鸣叫内鸣叫的总数限制由Twitter

#no of tweets you want to request 
max_tweets = 500 
#make initial request for most recent tweets (200 is the maximum allowed count) 
new_tweets = api.GetUserTimeline(screen_name = screen_name,count=max_tweets) 

#save most recent tweets 
alltweets.extend(new_tweets) 


#save the id of the oldest tweet less one 
oldest = alltweets[-1].id - 1 
#loop for remaining tweets 
while(len(alltweets)<max_tweets): 
    alltweets.extend(api.GetUserTimeline(screen_name = screen_name,count=(max_tweets-len(alltweets)),max_id=oldest)) 
    oldest = alltweets[-1].id - 1 

,如果它的工作,但它应该工作

+0

非常感谢您的答复先生我没有检查罚款。但可以演示为Twitter的api ..不tweepy ... – areddy

+0

我的意思是,而不是使用tweepy图书馆,你可以请提供代码为twitters api.GetUserTimeline函数 – areddy

+0

@areddy你正在使用的库? python的叽叽喳喳lib或你想使用Twitter API的基础url – Harwee