Je veux obtenir tous les tweets d'un utilisateur d'un utilisateur Twitter et jusqu'à présent, c'est ce que j'ai trouvé:
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]
Veuillez ignorer les importations inutiles. Un problème est que cela n'obtient que les tweets récents d'un utilisateur (ou les 20 premiers tweets). Est-il possible d'obtenir le tweet de tous les utilisateurs? À ma connaissance, le GEt_user_timeline (?) N'autorise qu'une limite de 3200. Existe-t-il un moyen d'obtenir au moins 3200 tweets? Qu'est-ce que je fais mal?
Il y a quelques problèmes avec votre code, y compris certaines importations superflues. En particulier, vous n'avez pas besoin de import Twitter
et import tweepy
- tweepy
peut gérer tout ce dont vous avez besoin. Le problème particulier que vous rencontrez est celui de la pagination, qui peut être géré dans tweepy
en utilisant un objet Cursor
comme ceci:
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)