Débuter avec tweepy

Installation

Tweepy peut être installé à partir de son référentiel PyPI en utilisant pip ou easy_install :

pip install tweepy

ou

easy_install tweepy

Vous pouvez également télécharger la source à partir de GitHub et l’installer à l’aide de setup.py :

python setup.py install

Voir la documentation de tweepy pour plus d’informations.

Utilisation de Tweepy pour accéder à l’API de recherche Twitter

L’API de recherche donne accès aux tweets récents*. Cela s’oppose à l’API Stream, qui fournit des résultats de recherche en temps réel.

<example>

*Notez que “l’API de recherche est axée sur la pertinence et non sur l’exhaustivité” - Twitter Search API

Utilisation de Tweepy pour accéder à l’API Twitter Stream

L’API Stream permet d’accéder aux tweets en temps réel. Les flux peuvent être filtrés en fonction de mots-clés, de la langue, de l’emplacement, etc. Voici un exemple simple pour suivre les mentions du mot “tweepy”:

#set up a new class using tweepy.StreamListener

class SimpleListener(tweepy.StreamListener):
    def on_status(self, status): 
        #code to run each time the stream receives a status
        print(status.text)

    def on_direct_message(self, status): 
        #code to run each time the stream receives a direct message
        print(status.text)
    
    def on_data(self, status):
        #code to run each time you receive some data (direct message, delete, profile update, status,...)
        print(status.text)

    def on_error(self, staus_code):
        #code to run each time an error is received
        if status_code == 420:
            return False
        else:
            return True

#initialize the stream

tweepy_listener = SimpleListener()
tweepy_stream = tweepy.Stream(auth = api.auth, listener=tweepy_listener())
tweepy_stream.filter(track=['tweepy'])

Vous pouvez suivre différents mots-clés en modifiant le paramètre track.

<to add: examples of filtering based on locations, languages, etc.>

Vous pouvez suivre les données adressées à votre compte en utilisant userstream() au lieu du filtre.

api.userstream(async=True)