获取Twitter用户的整个用户时间表

Vin*_*n23 8 python twitter tweepy

我想从一个Twitter用户那里得到所有用户的推文,到目前为止,这是我提出的:

import twitter
import json
import sys
import tweepy 
from tweepy.auth import OAuthHandler


CONSUMER_KEY = ''
CONSUMER_SECRET= ''
OAUTH_TOKEN=''
OAUTH_TOKEN_SECRET = ''

auth = twitter.OAuth(OAUTH_TOKEN,OAUTH_TOKEN_SECRET,CONSUMER_KEY,CONSUMER_SECRET)


twitter_api =twitter.Twitter(auth=auth)

print twitter_api

statuses = twitter_api.statuses.user_timeline(screen_name='@realDonaldTrump')
print [status['text'] for status in statuses]
Run Code Online (Sandbox Code Playgroud)

请忽略不必要的进口.一个问题是,这只会获得用户最近的推文(或前20条推文).是否有可能获得所有用户的推文?据我所知,GEt_user_timeline(?)只允许3200的限制.有没有办法获得至少3200条推文?我究竟做错了什么?

aso*_*uin 14

您的代码存在一些问题,包括一些多余的导入.特别是,您不需要 - import twitter并且import tweepy- tweepy可以处理您需要的一切.您遇到的特定问题是分页,可以tweepy使用如下Cursor对象来处理:

import tweepy

# Consumer keys and access tokens, used for OAuth
consumer_key = ''
consumer_secret = ''
access_token = ''
access_token_secret = ''

# OAuth process, using the keys and tokens
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)

# Creation of the actual interface, using authentication
api = tweepy.API(auth)

for status in tweepy.Cursor(api.user_timeline, screen_name='@realDonaldTrump', tweet_mode="extended").items():
    print(status.full_text)
Run Code Online (Sandbox Code Playgroud)

  • @ason​​gtoruin 感谢分享,但我使用了你的代码,有时它返回 160 条推文,有时返回 220 条推文。你知道这可能是什么原因吗? (2认同)