[PYTHON] Comment utiliser Tweepy ~ Partie 1 ~ [Obtenir un Tweet]

introduction

Je vais résumer comment utiliser tweepy en référence au document officiel.

Hello Tweepy ! Attribuez l'importation et la clé API acquise.

import tweepy

consumer_key = '*********************************'
consumer_secret = '*************************************'
access_token = '*******************************************'
access_token_secret = '****************************************'

Tweepy utilise OAuthHandler pour s'authentifier. Comme le montre l'exemple ci-dessous, ʻauth = tweepy.OAuthHandler (consumer_key, consumer_secret) , ʻauth.set_access_token (access_token, access_token_secret), puis ʻapi = tweepy.API (auth) ` Utilisez OAuth pour l'authentification dans la demande.

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)

api = tweepy.API(auth)

public_tweets = api.home_timeline()
for tweet in public_tweets:
    print('-------------------------')
    print(tweet.text)

Lorsque vous faites cela, vous devriez voir une chronologie. Hello Tweepy !!

L'appel d'une méthode API avec ʻapi = tweepy.API (auth) `renvoie une instance de classe de modèle Tweepy. Celui-ci contient les données renvoyées par Twitter, que nous utiliserons ci-dessous.

Rechercher des tweets

Tweets contenant le mot spécifié

api = tweepy.API(auth)

for tweet in tweepy.Cursor(api.search, q='Soutien-gorge Smash').items(10):
    print(tweet)

Une fois exécuté, vous pouvez obtenir les 10 derniers tweets, y compris "Smash Bra". La valeur renvoyée par ce tweepy.Cursor est un objet Status. Comme vous pouvez le voir en regardant le tweet imprimé, vous pouvez obtenir diverses informations en faisant quelque chose comme tweet. ○○.

Par exemple, tweet.text affichera le contenu du tweet, tweet.user vous permettra d'accéder aux informations utilisateur tweetées et tweet.user.name vous donnera le nom d'utilisateur. Vous pouvez le récupérer.

Lorsque ceux-ci sont appliqués, le nom d'utilisateur n'est acquis que lorsque l'utilisateur lui-même tweet, et non RT, parmi les tweets contenant "Smash Bra". Vous pouvez faire quelque chose comme

[tweet.user.name for tweet in tweepy.Cursor(api.search, q='Soutien-gorge Smash').items(10) if list(tweet.text)[:2] != ['R', 'T']]

#Je vais garder le nom.
>> ['*********',
    '***********',
    '*******************',
    '********************',
    '**********']

Tweet d'un utilisateur spécifique

Vous pouvez obtenir les tweets du compte avec l'identifiant spécifié en modifiant l'argument de tweepy.Cursor comme suit.

#Exclure RT et répondre dans l'instruction if
[tweet.text for tweet in tweepy.Cursor(api.user_timeline, id="Qiita").items(10) if (list(tweet.text)[:2]!=['R', 'T']) & (list(tweet.text)[0]!='@')]

>> ['3500 j'aime!|Collection de commentaires en anglais pratique utilisée dans GitHub par@shikichee https://t.co/njAmOmPECK',
    '1000 Contribution! | @ruccho_vector https://t.co/691RY2XE7U',
    '600 J'aime!|Pratique pour créer une application de chat Web simple en 1 heure avec Firebase@taketakekaho https://t.co/r0agD6Z6Qf',
    '500 j'aime!|Trois conseils pour éviter les pièges des scripts shell en@tnacigam https://t.co/rKO7tBQYii',
    '1300 j'aime!|Mise en œuvre d'une architecture propre par@nrslib https://t.co/ZCMaz4ges6',
    'Concernant l'article que nous n'avons partagé que le 25 décembre 2019, nous avons décrit la raison du partage limité et le contexte de notre réponse sur ce blog.\n\nhttps://t.co/SUqVaUKPbh',
    '300 j'aime!|Viser un CSS sûr ~ Ce que nous pouvons faire pour un monde pacifique ~ https://t.co/bww0EpoNDV',
    '400 J'aime!|Une icône qui semble être sans travail 10 ans plus tard par@otktko https://t.co/4sFpzK1zgu',
    '700 j'aime!|Publier des «questions» et des «intentions» dans les entretiens de recrutement d'ingénieurs par@ka_me_sen_nin https://t.co/GvM7RzC4m5',
    '1000 Contribution! | @phanect_ja https://t.co/glKfw9y6vW']

Obtenir page par page

Si vous essayez d'obtenir 3 pages, vous pouvez voir que 20 tweets par page peuvent être obtenus car la longueur de chaque liste est de 20.

#Par défaut, vos tweets sont récupérés.
for page in tweepy.Cursor(api.user_timeline).pages(3):
    #page est une liste de statuts.
    print(len(page))

>> 20
   20
   20

Voyons maintenant s'il y a une différence de vitesse d'exécution entre tweepy.Cursor (). Pages () et tweepy.Cursor (). Items ().

%%time
for page in tweepy.Cursor(api.user_timeline).pages(3):
    # get 60 tweet by pages
    print(page)

>> CPU times: user 67.5 ms, sys: 15.9 ms, total: 83.4 ms
Wall time: 490 ms
%%time
for tweet in tweepy.Cursor(api.user_timeline).items(60):
    # get 60 tweet by items
    print(tweet)

>> CPU times: user 64 ms, sys: 6.8 ms, total: 70.8 ms
Wall time: 471 ms

Ce dernier semble être un peu plus rapide.

en conclusion

Vous pouvez désormais recevoir divers tweets. Il peut être amusant d'écrire du code qui effectue des favoris automatiques et un suivi automatique après le filtrage des utilisateurs et des tweets en utilisant pleinement les instructions if.

La prochaine fois, je continuerai à utiliser l'API pour effectuer des opérations telles que le suivi et autres. -> Suite: Comment utiliser Tweepy ~ Partie 2 ~ [Suivez, aimez, etc.]

Recommended Posts

Comment utiliser Tweepy ~ Partie 1 ~ [Obtenir un Tweet]
Comment utiliser Tweepy ~ Partie 2 ~ [Suivez, aimez, etc.]
Comment utiliser le réseau de développeurs cybozu.com (partie 2)
Comment utiliser xml.etree.ElementTree
Comment utiliser Python-shell
Remarques sur l'utilisation de tf.data
Comment utiliser virtualenv
Comment utiliser Seaboan
Comment utiliser la correspondance d'image
Comment utiliser le shogun
Comment utiliser Virtualenv
Comment utiliser numpy.vectorize
Comment utiliser pytest_report_header
Comment utiliser partiel
Comment utiliser Bio.Phylo
Comment utiliser SymPy
Comment utiliser x-means
Comment utiliser WikiExtractor.py
Comment utiliser IPython
Comment utiliser virtualenv
Comment utiliser Matplotlib
Comment utiliser iptables
Comment utiliser numpy
Comment utiliser TokyoTechFes2015
Comment utiliser venv
Comment utiliser le dictionnaire {}
Comment utiliser Pyenv
Comment utiliser la liste []
Comment utiliser python-kabusapi
Comment utiliser OptParse
Comment utiliser le retour
Comment utiliser pyenv-virtualenv
Comment utiliser imutils
Comment utiliser Qt Designer
Comment utiliser la recherche triée
python3: Comment utiliser la bouteille (2)
Comprendre comment utiliser django-filter
Comment utiliser le générateur
Comment utiliser FastAPI ③ OpenAPI
Comment utiliser Python Argparse
Comment utiliser IPython Notebook
Comment utiliser Pandas Rolling
[Note] Comment utiliser virtualenv
Comment utiliser les dictionnaires redis-py
Python: comment utiliser pydub
[Python] Comment utiliser checkio
[Aller] Comment utiliser "... (3 périodes)"
Comment faire fonctionner GeoIp2 de Django
[Python] Comment utiliser input ()
Comment utiliser le décorateur
[Introduction] Comment utiliser open3d
Comment utiliser Python lambda
Comment utiliser Jupyter Notebook
[Python] Comment utiliser virtualenv
python3: Comment utiliser la bouteille (3)
python3: Comment utiliser la bouteille
Comment utiliser Google Colaboratory
Comment utiliser les octets Python