获取Twitter us的整个用户时间线

2024-05-15 01:45:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从一个Twitter用户那里得到所有用户的tweets,到目前为止,这就是我想到的:

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]

请忽略不必要的进口。一个问题是,这只获取用户最近的tweets(或前20条tweets)。是否可以让所有用户都发推特?据我所知,获取用户时间线(?)只允许3200的限制。有没有办法获得至少3200条微博?我做错什么了?


Tags: key用户importtokenauthapisecretconsumer
1条回答
网友
1楼 · 发布于 2024-05-15 01:45:37

代码有一些问题,包括一些多余的导入。特别是,你不需要import twitterimport tweepy-tweepy来处理你需要的一切。您遇到的特殊问题是分页,可以在tweepy中使用类似这样的^{}对象处理分页:

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)

相关问题 更多 >

    热门问题