Étapes pour créer un bot Twitter avec Python

Date de rédaction: 2015.08.09

Merci de toujours faire référence à votre blog, Qita, Github, etc.

1. Préparation

  1. Accédez à Twitter App
  2. Créez une nouvelle application avec [Créer une nouvelle application]
  3. Obtenez diverses clés

2. Gérez Twitter avec Python

L'environnement est Python 3.5.1. Il existe de nombreuses bibliothèques qui fonctionnent avec Twitter sur Python. J'ai utilisé les trois suivantes.

Surtout aucun

$ pip install twitter

Je pense que vous pouvez généralement l'installer comme ça.

Bot Twitter

  1. Type de tweet régulier
  2. Type de réponse en temps réel

Je pense qu'il existe deux types de (bien qu'il puisse y en avoir d'autres)

Cette fois, je voudrais créer ces deux types de Bot.

1. Type de tweet régulier

import twitter

auth = twitter.OAuth(consumer_key="",
consumer_secret="",
token="",
token_secret="")

t = twitter.Twitter(auth=auth)

#Tweet seulement
status="Hello,World" #Tweet pour publier
t.statuses.update(status=status) #Publier sur Twitter

#Tweet avec image
pic="" #Si vous publiez une image, le chemin de l'image
with open(pic,"rb") as image_file:
 image_data=image_file.read()
pic_upload = twitter.Twitter(domain='upload.twitter.com',auth=auth)
id_img1 = pic_upload.media.upload(media=image_data)["media_id_string"]
t.statuses.update(status=status,media_ids=",".join([id=img1]))

Si c'est un bot qui tweete régulièrement des images et des mots, ce n'est pas grave si vous modifiez un peu cela!

Il existe plusieurs façons d'exécuter un script régulièrement, mais l'utilisation de crontab est la meilleure (je déteste personnellement la notation).

crontab est un outil qui exécute des commandes régulièrement lorsque l'heure définie est atteinte. ・ Comment écrire crontab

2. Type de réponse en temps réel

Utilisez l'API Streaming.

import twitter

auth = twitter.OAuth(consumer_key="",
consumer_secret="",
token="",
token=secret="")

t = twitter.Twitter(auth=auth)
#Utiliser Userstream
t_userstream = twitter.TwitterStream(auth=auth,domain='userstream.twitter.com')

#Tweet et informations utilisateur sur les flux de votre chronologie
for msg in twitter.userstream.user():
 print(msg)

Dans le programme, dans le contenu de msg Diverses informations telles que les informations sur l'utilisateur et les informations sur les tweets circuleront une par une, veuillez donc les traiter afin que vous puissiez obtenir les informations que vous souhaitez.

Je posterai uniquement ceux que j'utilise souvent.

parameter contents
in_reply_to_screen_name Répondre au nom d'utilisateur de destination
text Contenu du Tweet
name Le nom de l'utilisateur qui a tweeté(≠screen_name)
media_url L'URL du média attaché au tweet

Je me demande si je n'ai pas utilisé les autres jusqu'à présent.

Par exemple, si vous souhaitez créer un robot qui répond à une réponse

.
.
for msg in twitter.userstream.user():
 #TWITTER en répondant à TL_Succursale si ID est inclus
 if msg['in_reply_to_screen_name']=="TWITTER_ID":
  tweet = "@"+msg['user']['screen_name']+" "+"Reply Thanks you"
  t.statuses.update(status=tweet)
  

Il peut être créé comme ceci (exemple)

Pour ceux qui veulent savoir en détail quel type d'informations peuvent être obtenues à partir des informations qui circulent (msg) [Structure des données lors de l'acquisition par l'API Twitter](http://biokids.org/?%A4%C9%A4%D6%A4%AA%2FTwitter%A4%C7%CD%B7%A4%DC%A4% Veuillez consulter A6% A1% AA% 2F% A5% C7% A1% BC% A5% BF% B9% BD% C2% A4).

J'écrirai sur Tweepy à une date ultérieure.

En fait, il existe peut-être une méthode de fonctionnement plus efficace, mais pour l'instant, cela ressemble à ceci.


update_name Envie de jouer avec les paramètres de profil Twitter sur CUI

import tweepy

auth = OAuthHandler(consumer_key="",consumer_secret="")
auth.set_access_token(token="",token=secret="")
api = API(auth)
api.update_profile(name='Nouveau nom')

Pour les autres profils de mise à jour, voir Compte POST / profil_actualisation | Développeurs Twitter.

Pour moi personnellement, tweepy est plus facile à voir et à utiliser que python-twitter. API Reference — tweepy 3.5.0 documentation Donc, si vous pensez pouvoir le faire, rendez-vous sur le site officiel de Twitter et la référence de chaque bibliothèque !!

Site auquel j'ai été autorisé à me référer

Recommended Posts

Étapes pour créer un bot Twitter avec Python
Créez un bot Mastodon avec une fonction pour répondre automatiquement avec Python
Créez un Twitter BOT avec le SDK GoogleAppEngine pour Python
Faisons un bot Twitter avec Python!
Créer un bot Twitter Trend avec heroku + Python
Créer un LINE BOT avec Minette pour Python
Créer un répertoire avec python
J'ai écrit un script pour créer rapidement un environnement de développement pour Twitter Bot avec AWS Lambda + Python 2.7
Procédure de création d'un environnement virtuel Python avec VS Code sous Windows
J'ai fait un Twitter BOT avec GAE (python) (avec une référence)
[Python] Comment créer un histogramme bidimensionnel avec Matplotlib
Étapes pour créer un projet Django
Créez un environnement virtuel avec Python!
5 façons de créer un chatbot Python
Publiez facilement sur Twitter avec Python 3
Probablement le moyen le plus simple de créer un pdf avec Python 3
Créer un message correspondant à la localisation avec la chaîne de traduction python
Créer un bot pour retweeter les informations sur le virus corona
Créez une image factice avec Python + PIL.
[Python] [LINE Bot] Créer un robot LINE de retour de perroquet
Créer un compteur de fréquence de mots avec Python 3.4
Créez un bot qui stimule les tendances Twitter
Essayez de créer un environnement python avec Visual Studio Code et WSL
J'ai essayé de créer une liste de nombres premiers avec python
[LINE Messaging API] Créez un BOT qui se connecte à quelqu'un avec Python
[Introduction] Je veux créer un robot Mastodon avec Python! 【Débutants】
Créer un cadre avec un arrière-plan transparent avec tkinter [Python]
[Python] Compréhension de liste Différentes façons de créer une liste
Modifier Excel à partir de Python pour créer un tableau croisé dynamique
Créez un service Twitter BOT avec GAE / P + Tweepy + RIOT API! (Partie 1)
Créez un service Twitter BOT avec GAE / P + Tweepy + RIOT API! (Partie 2)
Les débutants en Python ont décidé de créer un bot LINE avec Flask (commentaire approximatif de Flask)
J'ai essayé de créer un programme qui convertit les nombres hexadécimaux en nombres décimaux avec python
Je veux créer une fenêtre avec Python
Comment créer un fichier JSON en Python
Essayez de dessiner une courbe de vie avec python
J'ai essayé de créer un bloqueur de filles pourries sur Twitter avec Python ①
Je veux faire un jeu avec Python
Créez un outil qui secoue automatiquement furigana avec html en utilisant Mecab de Python3
Créer un environnement virtuel avec conda avec Python
Créer une page qui se charge indéfiniment avec python
[Note] Créez une classe de fuseau horaire sur une ligne avec python
Vous pouvez facilement créer une interface graphique même avec Python
Essayez de créer un code de "décryptage" en Python
Publiez le titre en plein essor de YouTube sur Twitter avec python3
Créer une barre de couleurs avec Python + Qt (PySide)
Étapes pour développer une application Web en Python
Décidez d'une mission de laboratoire avec Python (fiction)
Créer un arbre de décision à partir de 0 avec Python (1. Présentation)
Créer une nouvelle page en confluence avec Python
Créer un widget avec une couleur spécifiée avec Python + Qt (PySide)
Essayez de créer un groupe de dièdre avec Python
Procédure de création d'application multi-plateforme avec kivy
Créer un fichier au format Photoshop (.psd) avec python
[Outlook] J'ai essayé de créer automatiquement un e-mail de rapport quotidien avec Python
Créer un environnement Python
Facile à créer une application console Python avec Click
Je veux écrire dans un fichier avec Python