Schritte zum Erstellen eines Twitter-Bots mit Python

Datum des Schreibens: 2015.08.09

Vielen Dank, dass Sie sich immer auf Ihr Blog, Qita, Github usw. beziehen.

1. Vorbereitung

  1. Greifen Sie auf [Twitter App] zu (https://apps.twitter.com)
  2. Erstellen Sie eine neue App mit [Neue App erstellen]
  3. Holen Sie sich verschiedene Schlüssel

2. Behandeln Sie Twitter mit Python

Die Umgebung ist Python 3.5.1. Es gibt viele Bibliotheken, die mit Twitter unter Python arbeiten. Ich habe die folgenden drei verwendet.

Meistens keine

$ pip install twitter

Ich denke, Sie können es normalerweise so installieren.

Twitter Bot

  1. Normaler Tweet-Typ
  2. Echtzeit-Antworttyp

Ich denke, es gibt zwei Arten von (obwohl es andere geben kann)

Dieses Mal möchte ich diese beiden Arten von Bot erstellen.

1. Normaler Tweet-Typ

import twitter

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

t = twitter.Twitter(auth=auth)

#Nur twittern
status="Hello,World" #Tweet zum posten
t.statuses.update(status=status) #Auf Twitter posten

#Tweet mit Bild
pic="" #Wenn Sie ein Bild posten, wird der Pfad des Bildes angezeigt
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]))

Wenn es sich um einen Bot handelt, der regelmäßig Bilder und Wörter twittert, ist es in Ordnung, wenn Sie dies ein wenig ändern!

Es gibt verschiedene Möglichkeiten, ein Skript regelmäßig auszuführen, aber die Verwendung von crontab ist die beste (ich persönlich hasse die Notation).

crontab ist ein Tool, das Befehle regelmäßig ausführt, wenn die eingestellte Zeit erreicht ist. ・ Wie schreibe ich crontab

2. Echtzeit-Antworttyp

Verwenden Sie die Streaming-API.

import twitter

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

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

#Tweet- und Benutzerinformationen auf Ihrer Timeline fließen
for msg in twitter.userstream.user():
 print(msg)

Im Programm, im Inhalt von msg Verschiedene Informationen wie Benutzerinformationen und Tweet-Informationen fließen nacheinander. Verarbeiten Sie sie daher, damit Sie die gewünschten Informationen erhalten.

Ich werde nur die posten, die ich oft benutze.

parameter contents
in_reply_to_screen_name Antwortbenutzername
text Tweet Inhalt
name Der Name des Benutzers, der getwittert hat(≠screen_name)
media_url Die URL des an den Tweet angehängten Mediums

Ich frage mich, ob ich die anderen bisher nicht benutzt habe.

Zum Beispiel, wenn Sie einen Bot erstellen möchten, der antwortet, wenn eine Antwort kommt

.
.
for msg in twitter.userstream.user():
 #TWITTER durch Beantwortung von TL_Verzweigen, wenn ID enthalten ist
 if msg['in_reply_to_screen_name']=="TWITTER_ID":
  tweet = "@"+msg['user']['screen_name']+" "+"Reply Thanks you"
  t.statuses.update(status=tweet)
  

Es kann so erstellt werden (Beispiel)

Für diejenigen, die im Detail wissen möchten, welche Art von Informationen aus den fließenden Informationen (msg) erhalten werden können [Datenstruktur bei Erfassung durch die Twitter-API](http://biokids.org/?%A4%C9%A4%D6%A4%AA%2FTwitter%A4%C7%CD%B7%A4%DC%A4% Siehe A6% A1% AA% 2F% A5% C7% A1% BC% A5% BF% B9% BD% C2% A4).

Ich werde zu einem späteren Zeitpunkt über Tweepy schreiben.

Eigentlich mag es eine effizientere Betriebsmethode geben, aber im Moment sieht es so aus.


update_name Lust, mit Twitter-Profileinstellungen auf CUI zu spielen

import tweepy

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

Weitere update_profiles finden Sie unter POST-Konto / update_profile | Twitter-Entwickler.

Für mich persönlich ist Tweepy einfacher zu sehen und zu verwenden als Python-Twitter. API Reference — tweepy 3.5.0 documentation Wenn Sie also glauben, dass Sie dies tun können, gehen Sie zum Twitter-Beamten und zur Referenz jeder Bibliothek!

Site, auf die ich verweisen durfte

Recommended Posts

Schritte zum Erstellen eines Twitter-Bots mit Python
Erstellen Sie einen Mastodon-Bot mit einer Funktion, die automatisch mit Python antwortet
Erstellen Sie einen Twitter-BOT mit dem GoogleAppEngine SDK für Python
Machen wir einen Twitter-Bot mit Python!
Machen Sie Twitter Trend Bot mit Heroku + Python
Erstellen Sie mit Minette für Python einen LINE BOT
Erstellen Sie ein Verzeichnis mit Python
Ich habe ein Skript geschrieben, um mit AWS Lambda + Python 2.7 schnell eine Entwicklungsumgebung für Twitter Bot zu erstellen
Vorgehensweise zum Erstellen einer virtuellen Python-Umgebung mit VS-Code unter Windows
Ich habe einen Twitter BOT mit GAE (Python) gemacht (mit einer Referenz)
[Python] So erstellen Sie mit Matplotlib ein zweidimensionales Histogramm
Schritte zum Erstellen eines Django-Projekts
Erstellen Sie eine virtuelle Umgebung mit Python!
5 Möglichkeiten zum Erstellen eines Python-Chatbots
Mit Python 3 einfach auf Twitter posten
Wahrscheinlich der einfachste Weg, um mit Python 3 ein PDF zu erstellen
Erstellen Sie eine Nachricht, die der Lokalisierung entspricht, mit einer Python-Übersetzungszeichenfolge
Erstellen Sie einen Bot, um Corona-Virus-Informationen zu retweeten
Erstellen Sie mit Python + PIL ein Dummy-Image.
[Python] [LINE Bot] Erstellen Sie einen LINE Bot mit Papageienrückgabe
Erstellen Sie mit Python 3.4 einen Worthäufigkeitszähler
Erstellen Sie einen Bot, der Twitter-Trends verstärkt
Versuchen Sie, eine Python-Umgebung mit Visual Studio Code & WSL zu erstellen
Ich habe versucht, mit Python eine Liste von Primzahlen zu erstellen
[LINE Messaging API] Erstellen Sie einen BOT, der eine Verbindung zu jemandem mit Python herstellt
[Einführung] Ich möchte mit Python einen Mastodon-Bot erstellen! 【Anfänger】
Erstellen Sie mit tkinter [Python] einen Rahmen mit transparentem Hintergrund.
[Python] Listenverständnis Verschiedene Möglichkeiten zum Erstellen einer Liste
Bearbeiten Sie Excel in Python, um eine Pivot-Tabelle zu erstellen
Erstellen Sie einen Twitter-BOT-Dienst mit der GAE / P + Tweepy + RIOT-API! (Teil 1)
Erstellen Sie einen Twitter-BOT-Dienst mit der GAE / P + Tweepy + RIOT-API! (Teil 2)
Python-Anfänger haben beschlossen, einen LINE-Bot mit Flask zu erstellen (Flask-Kommentar)
Ich habe versucht, ein Programm zu erstellen, das Hexadezimalzahlen mit Python in Dezimalzahlen konvertiert
Ich möchte mit Python ein Fenster erstellen
So erstellen Sie eine JSON-Datei in Python
Versuchen Sie, mit Python eine Lebenskurve zu zeichnen
Ich habe versucht, mit Python einen Twitter-Blocker für faule Mädchen zu machen
Ich möchte ein Spiel mit Python machen
Erstellen Sie mit Mecab aus Python3 ein Tool, das Furigana automatisch mit HTML schüttelt
Erstellen Sie eine virtuelle Umgebung mit conda in Python
Erstellen Sie eine Seite, die unbegrenzt mit Python geladen wird
[Hinweis] Erstellen Sie mit Python eine einzeilige Zeitzonenklasse
Sie können auch mit Python problemlos eine GUI erstellen
Versuchen Sie, in Python einen "Entschlüsselungs" -Code zu erstellen
Poste den hochfliegenden Titel von Youtube mit python3 auf Twitter
Erstellen Sie eine Farbleiste mit Python + Qt (PySide)
Schritte zum Entwickeln einer Webanwendung in Python
Entscheide dich für einen Laborauftrag mit Python (Fiktion)
Erstellen Sie mit Python einen Entscheidungsbaum von 0 (1. Übersicht)
Erstellen Sie eine neue Seite im Zusammenfluss mit Python
Erstellen Sie mit Python + Qt (PySide) ein farbspezifisches Widget.
Versuchen Sie, mit Python eine Diedergruppe zu bilden
Verfahren zur Erstellung plattformübergreifender Apps mit kivy
Erstellen Sie mit Python eine Datei im Photoshop-Format (.psd)
[Outlook] Ich habe versucht, mit Python automatisch eine tägliche Berichtsmail zu erstellen
Erstellen Sie eine Python-Umgebung
Erstellen Sie einfach eine Python-Konsolenanwendung mit Click
Ich möchte mit Python in eine Datei schreiben