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. united-domains AG, Starnberg bei München
  2. Alfred Kärcher GmbH & Co. KG, Winnenden bei Stuttgart

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
Blu-ray-Angebote
  1. 4,25€
  2. 9,99€

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
       


Sony E3 2018 Pressekonferenz - Live (techn. Probleme)

Sony hatte während der Übertragung der Pressekonferenz der E3 2018 massive technische Probleme. Abseits davon waren die gezeigten Spiele aber sehr gut. Trotzdem empfehlen wir, den Abschnitt nach The Last of Us bis zu Ghost of Tsushima zu überspringen. (Minute 40-50)

Sony E3 2018 Pressekonferenz - Live (techn. Probleme) Video aufrufen
Gemini PDA im Test: 2004 ist nicht 2018
Gemini PDA im Test
2004 ist nicht 2018

Knapp über ein Jahr nach der erfolgreichen Finanzierung hat das Startup Planet Computers mit der Auslieferung seines Gemini PDA begonnen. Die Tastatur ist gewöhnungsbedürftig, längere Texte lassen sich aber mit Geduld durchaus damit tippen. Die Frage ist: Brauchen wir heute noch einen PDA?
Ein Test von Tobias Költzsch und Sebastian Grüner

  1. Atom Wasserfestes Mini-Smartphone binnen einer Minute finanziert
  2. Librem 5 Freies Linux-Smartphone wird größer und kantig
  3. Smartphone-Verkäufe Xiaomi erobert Platz vier hinter Huawei, Apple und Samsung

Sonnet eGFX Box 650 im Test: Wenn die Vega 64 am Thinkpad rechnet
Sonnet eGFX Box 650 im Test
Wenn die Vega 64 am Thinkpad rechnet

Die eGFX Box 650 von Sonnet ist ein eGPU-Gehäuse, das dank 650-Watt-Netzteil auch mit AMDs Radeon RX Vega 64 läuft. Die Box ist zwar recht leise, dennoch würden wir den Lüfter gerne steuern.
Ein Test von Marc Sauter und Sebastian Grüner

  1. Razer Core X eGPU-Box kostet 300 Euro
  2. eGFX Breakaway Box 650 Sonnets Grafik-Gehäuse läuft mit Vega 64
  3. XG Station Pro Asus' zweite eGPU-Box ist schlicht

Live-Linux: Knoppix 8.3 mit Docker
Live-Linux
Knoppix 8.3 mit Docker

Cebit 2018 Die Live-Distribution Knoppix Linux-Magazin Edition bringt nicht nur die üblichen Aktualisierungen und einen gegen Meltdown und Spectre geschützten Kernel. Mir ist das kleine Kunststück gelungen, Knoppix als Docker-Container zu starten.
Ein Bericht von Klaus Knopper


      •  /