[Tweepy] Re: Développement de Twitter Bot à partir de zéro # 1 [python]

en premier

Nous allons procéder en partant du principe que l'installation de tweepy est déjà terminée.

Environnement de développement

python-3.8.5 tweepy-3.9.0 editor-Atom

Pour les débutants en programmation

Même si le Seigneur est un débutant, il a une certaine expérience. Si vous êtes un débutant complet, veuillez lire d'autres articles, acquérir des connaissances de base, puis revenez.

Histoire principale

Ensuite, c'est l'histoire principale.

code

Code requis

système d'importation


import tweepy

Système de jetons


CONSUMER_KEY = "Saisissez ici la chaîne de caractères correspondante"
CONSUMER_SECRET = ""
ACCESS_KEY = ""
ACCESS_SECRET = ""

Autre


auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_key, access_secret)
api = tweepy.API(auth)

Code à écrire

Cette fois, j'écrirai le code pour imprimer 10 tweets à l'exclusion des réponses et des retweets.

L'ensemble


a = 0
public_tweets = api.home_timeline()
for tweet in public_tweets:
    if a < 10:
        if tweet.text[:2] == 'RT' or tweet.text[:1] == '@':
            pass
        else:
            print(' ')
            print('-----------------')
            print(' ')
            print(tweet.text)
            a += 1
Commentaire

La première ligne


a = 0

Définition requise pour terminer après 10 opérations.

2e ligne


public_tweets = api.home_timeline()

Je fouille dans public_tweets pour faciliter l'appel ʻapi.home_timeline ()`.

3e ligne


for tweet in public_tweets:

C'est un gars qui met l'objet tweet acquis dans une variable appelée «tweet».

4ème ligne


if a < 10:

Cochez pour supprimer l'opération avec 10 fois. La première ligne est obligatoire.

5,6ème ligne


if tweet.text[:2] == 'RT' or tweet.text[:1] == '@':
    pass

Celui à ignorer s'il s'agit d'un retweet ou d'un tweet de réponse. En gros, si vous imprimez un retweet ou répondez à un tweet avec tweet.text Contenu du message RT @ ID utilisateur Ou Contenu du message @User ID C'est comme ça, RT ou @ est ajouté au début, c'est donc pour le juger.

7~12ème ligne


else:
    print(' ')
    print('-----------------')
    print(' ')
    print(tweet.text)
    a += 1

ʻElse: fonctionne si les conditions des lignes 5 et 6 ne sont pas remplies. Les trois premières lignes d'impression ne doivent pas nécessairement être celles qui permettent de distinguer plus facilement le contenu du tweet acquis. print (tweet.text) imprime le contenu du tweet. ʻA + = 1 est celui qui ajoute 1 à la valeur numérique de la variable appelée a. Code requis pour vérifier combien de fois cela a fonctionné.

Au fait, lorsque cela est opéré,


-----------------

Contenu du message 1(Je vais le cacher au cas où)

-----------------

Contenu du message 2(Je vais le cacher au cas où)

-----------------

Contenu du message 3(Je vais le cacher au cas où)

-----------------

Contenu du message 4(Je vais le cacher au cas où)

-----------------

Contenu du message 5(Je vais le cacher au cas où)

-----------------

Contenu du message 6(Je vais le cacher au cas où)

-----------------

Contenu du message 7(Je vais le cacher au cas où)

-----------------

Contenu du message 8(Je vais le cacher au cas où)

-----------------

Contenu du message 9(Je vais le cacher au cas où)

-----------------

Contenu du message 10(Je vais le cacher au cas où)

Ce sera.

prochain

Ensuite, nous ajouterons la fonction pour afficher le nom d'utilisateur. Le résultat de l'exécution est

-------

Nom d'utilisateur
|
Contenu du Tweet

-------
.
.
.

J'essaierai de l'être. Écrivons le code immédiatement. Je ne pense pas que ce soit si difficile parce que j'ajoute juste un peu. Pon code élevé

a = 0
public_tweets = api.home_timeline()
for tweet in public_tweets:
    if a < 10:
        if tweet.text[:2] == 'RT' or tweet.text[:1] == '@':
            pass
        else:
            print(' ')
            print('-----------------')
            print(' ')
            print(tweet.user.name)
            print('|')
            print(tweet.text)
            a += 1

Jusqu'à la 7ème ligne est la même, alors frappe-la et pop

print(' ')
print('-----------------')
print(' ')
print(tweet.user.name)
print('|')
print(tweet.text)
a += 1

La seule chose qui a changé, ce sont les 4e et 5e lignes! Et ajoutez juste! Aucune suppression! Je ne pense pas que cela doive être expliqué en particulier, alors utilisez le chemin. Le résultat de l'exécution ressemble à ceci

Résultat d'exécution



-----------------

Nom d'utilisateur 1(Pas un ID utilisateur)
|
Contenu du message 1(Je vais le cacher au cas où)

-----------------

Nom d'utilisateur 2(Pas un ID utilisateur)
|
Contenu du message 2(Je vais le cacher au cas où)

-----------------

Nom d'utilisateur 3(Pas un ID utilisateur)
|
Contenu du message 3(Je vais le cacher au cas où)

-----------------

Nom d'utilisateur 4(Pas un ID utilisateur)
|
Contenu du message 4(Je vais le cacher au cas où)

-----------------

Nom d'utilisateur 5(Pas un ID utilisateur)
|
Contenu du message 5(Je vais le cacher au cas où)

-----------------

Nom d'utilisateur 6(Pas un ID utilisateur)
|
Contenu du message 6(Je vais le cacher au cas où)

-----------------

Nom d'utilisateur 7(Pas un ID utilisateur)
|
Contenu du message 7(Je vais le cacher au cas où)

cette? Pouvez-vous obtenir seulement 7 tweets? ?? C'est vrai. Cette fois, je n'ai reçu que 7 tweets. Une cause possible,

Avant que je puisse recevoir 10 tweets qui remplissent cette condition, le nombre de tweets que je pouvais obtenir était limité.

C'est peut-être la cause. Je pense que le résultat changera si vous le faites encore quelques fois. ~~ Je ne le ferai pas parce que c'est ennuyeux. ~~

Dernier Ooo! !! !!

Le dernier défi est d'écrire votre identifiant Twitter à droite de votre nom d'utilisateur! !! Je voudrais terminer cette fois en ne faisant que cela. Puis immédiatement. Cette fois j'écrirai en pensant

Tout d'abord, je veux écrire le nom d'utilisateur et l'identifiant Twitter dans la même colonne, je dois donc décider de certaines variables. (Eh bien, il existe un moyen de le faire sans utiliser de variables) Cette fois, nous utiliserons une variable appelée «nom».

name = tweet.user.name

Comme je l'ai fait plus tôt, cela obtiendra le nom d'utilisateur. Et ensuite. Obtenez le UserID. Je ne sais pas où l'obtenir, alors quand je recherche Object ... Il y avait quelque chose comme ça appelé screen_name. Lorsque j'essaye d'effectuer une recherche sur Twitter ...

Oui, cela a fonctionné. (Il n'y a pas d'image car il s'agit d'un ID utilisateur d'un inconnu) J'ai donc découvert que je pouvais obtenir un identifiant Twitter en utilisant ceci. Alors c'est facile. Combinez ces gars ...

name = tweet.user.name + ':@' + tweet.user.screen_name

Peut-être que cela fonctionnera! Le résultat de l'essayer ...

Résultat d'exécution



-----------------

Nom d'utilisateur:@TwitterID
|
Contenu du message 1(Je vais le cacher au cas où)

-----------------

Nom d'utilisateur:@TwitterID
|
Contenu du message 2(Je vais le cacher au cas où)

-----------------

Nom d'utilisateur:@TwitterID
|
Contenu du message 3(Je vais le cacher au cas où)

-----------------

Nom d'utilisateur:@TwitterID
|
Contenu du message 4(Je vais le cacher au cas où)

-----------------

Nom d'utilisateur:@TwitterID
|
Contenu du message 5(Je vais le cacher au cas où)

-----------------

Nom d'utilisateur:@TwitterID
|
Contenu du message 6(Je vais le cacher au cas où)

-----------------

Nom d'utilisateur:@TwitterID
|
Contenu du message 7(Je vais le cacher au cas où)

-----------------

Nom d'utilisateur:@TwitterID
|
Contenu du message 8(Je vais le cacher au cas où)

-----------------

Nom d'utilisateur:@TwitterID
|
Contenu du message 9(Je vais le cacher au cas où)

-----------------

Nom d'utilisateur:@TwitterID
|
Contenu du message 10(Je vais le cacher au cas où)

Oui, cela a fonctionné. C'est probablement Sorya.

finalement

Eh bien, cette fois, je voudrais terminer avec ceci. La prochaine fois, j'aimerais le mettre à jour dès que je pense à ce que je veux faire.

L'écriture Qiita améliore la stabilité de la frappe et je pense que les compétences en écriture s'amélioreront, donc c'est bien. Vous pouvez apprendre à vous connaître encore plus en enseignant aux autres. N'est-ce pas trois oiseaux avec une pierre?

Veuillez écrire un article par tous les moyens! Puis, noshi

Re: Série de vie de développement de robots Twitter à partir de zéro

\ # 1 Cet article \ # 2 * Préparation *

・ Dès que cette série sera mise à jour, nous la mettrons à jour au besoin.

Recommended Posts

[Tweepy] Re: Développement de Twitter Bot à partir de zéro # 1 [python]
Re: Vie de programmation compétitive à partir de zéro Chapitre 1.2 "Python of tears"
Re: Durée de vie de la programmation compétitive à partir de zéro Chapitre 1.3 "Side tea"
Tweet de python avec Twitter Developer + Tweepy
Construction d'environnement explosif Python à partir de zéro (Mac)
Objet: Vie de programmation compétitive à partir de zéro Chapitre 1 1 "Seul C ++ peut être utilisé"
[Python] Lecture du code source Django Vue à partir de zéro ①
Analyse ChIP-seq à partir de zéro
[Pour les débutants] Re: Algorithme génétique partant de zéro [Intelligence artificielle]
Re: La vie d'Heroku à partir de zéro avec Flask ~ PhantomJS à Heroku ~
[Lambda] [Python] Publier sur Twitter depuis Lambda!
Code wars kata à partir de zéro
Obtenez des données de Twitter avec Tweepy
Re: La vie Heroku à partir de zéro avec Flask ~ Selenium & PhantomJS & Beautifulsoup ~
Re: La vie Heroku commence avec Flask from zero - Environnement et Hello world -
Collecter des informations sur Twitter avec Python (API Twitter)
"Programmation Python AI" à partir de 0 pour Windows
Efficacité commerciale à partir de zéro avec Python
Faisons un bot Twitter avec Python!