Abo
  • Services:

Tweepy als umfangreiche Python-Bibliothek

Bei einer Eigenlösung stehen wir jedoch vor dem Problem: Solch ein Bot sollte rund um die Uhr laufen. Je schneller auf einen Tweet geantwortet werden kann, um so besser. Daher sollte das Programm auf einem Webserver oder einem Rechner installiert werden, der permanent online ist. Für beide Fälle gibt es im Netz eine Reihe von Lösungen, die sich beispielsweise auf einem Bastelrechner à la Raspberry Pi oder einer eigenen Webdomain installieren lassen, die die Ausführung von PHP-Skripten und Cronjobs ermöglicht.

Stellenmarkt
  1. Landwirtschaftliche Rentenbank, Frankfurt am Main
  2. Salzgitter Mannesmann Grobblech GmbH, Mülheim an der Ruhr

Am einfachsten dürfte dabei eine Lösung mit Python auf einem Linux-System sein. Denn für Python gibt es die umfangreiche Bibliothek Tweepy (https://github.com/tweepy/tweepy oder http://www.tweepy.org/), die einen unkomplizierten Zugang zur Twitter-API ermöglicht. Es muss lediglich beachtet werden, dass das aktuelle Paket installiert wird, welches die derzeit gültige API-Version 1.1 anspricht. Zwar ist zu empfehlen, Python ab Version 3.3 zu nutzen, doch die Bibliothek läuft auch unter Python 2.7, wenn bestimmte Module wie Six oder Requests installiert wurden. Unter Umständen kann es erforderlich sein, Fehlermeldungen unter Requests zu deaktivieren.

Nur wenige Zeilen Code

Die Tweepy-Bibliothek übernimmt dabei die Authentifizierung mit Hilfe des OAuth-Protokolls. Zudem werden die Parameter der Twitter-API eingebunden. Davon gibt es wirklich sehr viele, wie aus dem API-Reference-Index hervorgeht. Das eigentliche Python-Script ist daher recht kurz und lässt sich schnell googeln. Zunächst werden die Suchergebnisse in eine Variable geladen. Die darin zu suchenden Zitate werden in eine Liste eingetragen. Eine Funktion überprüft dann, ob die Zitate aus der Liste in den Tweets enthalten sind.

Falls das zutrifft, sendet Tweepy in einer For-Schleife über die API die entsprechende Antwort an den Nutzer. Zusammenfassend ist die Funktion in einer Anleitung auf www.dototot.com erläutert, allerdings mit einer verschachtelten For-Schleife. Dort fehlt jedoch die Angabe der Tweet-ID, die erforderlich ist, um den Antwort-Tweet über den Parameter in_reply_to_status_id mit dem Originaltweet zu verknüpfen.

Duplikatsperre zeitlich begrenzt

Über einen Cronjob lässt sich das Skript beispielsweise alle 15 Minuten oder jede Stunde aufrufen, um möglichst schnell auf Tweets zu reagieren. Twitter verhindert dabei selbst, dass Antworten ein zweites Mal publiziert werden. Doch bei einem "Langzeittest" des Twitter-Bots erlebten wir eine unangenehme Überraschung: Die Blockade von Duplikaten dauert nur zwölf Stunden. Dann wurden die Twitter-Nutzer ein zweites Mal über das falsche Zitat informiert.

Um das zu vermeiden, lässt sich mit dem Parameter created_at der genaue Publikationszeitpunkt eines Tweets abfragen und dessen Auswertung auf einen bestimmten Zeitraum von wenigen Stunden oder Minuten einschränken. Fertig ist der Twitter-Bot auf Python-Basis (Beispielcode).

 Kostenlose Twitter-Bots sind unflexibelViele PHP-Vorlagen im Netz 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7.  


Anzeige
Top-Angebote
  1. (u. a. MSI X370 Gaming Plus + AMD Ryzen 5 1600 für 199€ statt ca. 230€ im Vergleich und Cooler...
  2. 159€ (Vergleichspreis 189,90€)
  3. 66,99€ (Vergleichspreis 83,98€) - Aktuell günstigste 500-GB-SSD!
  4. (u. a. WD Elements Portable 2 TB für 61,99€ statt 69,53€ im Vergleich und SanDisk Ultra...

toke 13. Feb 2018

Die Duplikatserkennung funktioniert nicht immer 100%. Bei mir trat es zum Beispiel...

Cok3.Zer0 04. Feb 2018

Auf der Blackhat hat man Bots gefunden.

daarkside 03. Feb 2018

Habe den Artikel wegen Hate Speech an Heiko gemailed.

FreiGeistler 02. Feb 2018

Um was gehts denn da? Wie bei den Web-Standards: man verlinkt nichts ohne Beschreibung...

s1ou 02. Feb 2018

Welche tools nutzt du für die sentiment analyse? NLTK funktioniert ja auf englisch gerade...


Folgen Sie uns
       


HTC U12 Life - Hands on (Ifa 2018)

HTC hat mit dem U12 Life ein neues Mittelklasse-Smartphone vorgestellt, das besonders durch die gravierte Glasrückseite auffällt. Golem.de konnte sich das Gerät vor dem Marktstart anschauen.

HTC U12 Life - Hands on (Ifa 2018) Video aufrufen
Retrogaming: Maximal unnötige Minis
Retrogaming
Maximal unnötige Minis

Nanu, die haben wir doch schon mal weggeschmissen - und jetzt sollen wir 100 Euro dafür ausgeben? Mit Minikonsolen fahren Anbieter wie Sony und Nintendo vermutlich hohe Gewinne ein, dabei gäbe es eine für alle bessere Alternative: Software statt Hardware.
Ein IMHO von Peter Steinlechner

  1. Streaming Heilloses Durcheinander bei Netflix und Amazon Prime
  2. Sicherheit Ein Lob für Twitter und Github
  3. Linux Mit Ignoranz gegen die GPL

Fifa 19 und PES 2019 im Test: Knapper Punktsieg für EA Sports
Fifa 19 und PES 2019 im Test
Knapper Punktsieg für EA Sports

Es ist eher eine Glaubens- als eine echte Qualitätsfrage: Fifa 19 oder PES 2019? Golem.de zieht anhand der Versionen für Playstation 4 den Vergleich - und kommt zu einem schwierigen, aber eindeutigen Urteil.
Ein Test von Olaf Bleich und Benedikt Plass-Fleßenkämper

  1. Fifa 19 angespielt Präzisionsschüsse, Zweikämpfe und mehr Taktik
  2. EA Sports Fifa 18 bekommt kostenloses WM-Update
  3. Bestseller Fifa 18 schlägt Call of Duty in Europa

iOS 12 im Test: Auch Apple will es Nutzern leichter machen
iOS 12 im Test
Auch Apple will es Nutzern leichter machen

Apple setzt mit iOS 12 weniger auf aufsehenerregende Funktionen als auf viele kleine Verbesserungen für den Alltag. Das erinnert an Google und Android 9, was nicht zwingend schlecht ist.
Ein Test von Tobias Költzsch

  1. Apple iOS 12.1 verrät neues iPad Pro
  2. Apple Siri-Kurzbefehle-App für iOS 12 verfügbar

    •  /