我用Twython模块(3.1.2)在Python 3.4.2上编写了一个小程序。 它有效,但不完全正确。 程序加载推文并显示它们(你可以看到下面的代码)。它载了200条推文,但我读到Twitter API可以访问3200条推文。我可以用Twython做到这一点吗? 主要问题 - 推文以不可读的形式加载:(我注意到这是因为推文是在西里尔文上写的。
import sys
from twython import Twython
APP_KEY = 'MY_APP_KEY'
APP_SECRET = 'MY_APP_SECRET'
OAUTH_TOKEN = 'MY_OAUTH_TOKEN'
OAUTH_TOKEN_SECRET = 'MY_OAUTH_TOKEN_SECRET'
client_args = {
"headers": {
"accept-charset": "utf-8"
}
}
twitter = Twython(APP_KEY, APP_SECRET,
OAUTH_TOKEN, OAUTH_TOKEN_SECRET)
user_tweets = twitter.get_user_timeline(screen_name='poroshenko',
count=200)
for tweets in user_tweets:
print (tweets['text'].encode('utf-8'))
答案 0 :(得分:0)
将计数=更改为3200
有关打印推文,请参阅https://twython.readthedocs.org/en/latest/usage/special_functions.html
使用:
for tweet in user_tweets:
tweet['text'] = Twython.html_for_tweet(tweet)
print(tweet['text'])
答案 1 :(得分:0)
您必须使用max_id参数。
获得前200条推文后,您将获得最后一条推文(最早的推文)的ID,然后再次调用twitter API。我们假设此推文ID是 lastId
user_tweets = twitter.get_user_timeline(screen_name='poroshenko',count=200,max_id=str(long(lastId)-1))
确保在超出速率限制时也要处理。