Viele Wege führen zu den Tweets – doch Welcher macht wann Sinn?

Welche Möglichkeiten gibt es, um Twitter Nachrichten – Tweets zu laden? Gibt es auch kostenlose Varianten? Nachfolgend zeige ich drei unterschiedliche Möglichkeiten um an die Tweets zu kommen und welche davon mit Kosten verbunden sind.

 

Webscraping, „Quick and Dirty“?

Um mir einen ersten Überblick über die Daten und dessen Struktur zu verschaffen wollte ich direkt die Ergebnisse meiner Twitter Suche speichern. Den Vorgang der Datenextraktion ab einer Website nennt man Webscraping.

Hierfür kann die Chrome-Erweiterung „Instant Data Scraper“ verwendet werden.

Diese Variante ist zwar kostenlos, leider funktioniert diese Browser-Erweiterung nicht für Twitter da diese ihre Website entsprechend gegen Webscraping schützen. Somit benötige ich eine Alternative.

RStudio – das Tool der Tools

Schon ganz zu Beginn vom CAS wurden wir mit RStudio konfrontiert. Das Tool wird wohl typischerweise im Bereich der Datenanalyse verwendet, bietet jedoch eine Vielzahl an vorgefertigten Bibliotheken, welche gratis verwendet werden können. Google sei Dank, innert kürzester Zeit habe ich ein passendes Tutorial gefunden. Bevor ich jedoch loslegen kann wird von mir ein Developer-Account von Twitter gefordert. Zum Glück stellt das Erzeugen des Accounts keine wirkliche Herausforderung dar und wird sofort durch Twitter genehmigt.
Nun konnte es endlich los gehen. Step by Step folge ich dem Tutorial und mache alles genau wie beschrieben.

Nur ein paar tausend Tweets?
Die Freude über den ersten kleinen Teilerfolg währt jedoch nicht sonderlich lange, denn mir rasch bewusst, dass das, was ich hier erhalten habe, maximal die Spitze des Eisberges ist. Gerade mal einige tausend Tweets konnte ich dem System entlocken zum Thema „Luzern“ – und das ohne zeitliche Einschränkung! Wie kann das sein? Habe ich etwa noch immer eine fehlerhafte Konfiguration oder gibt es noch einen Parameter, welchen ich beim Zugriff auf die Twitter Daten mitgeben muss?
Leider NEIN!

Wer lesen kann ist klar im Vorteil!
Wer lediglich einen Developer-Account bei Twitter erstellt, der erhält nur ganz wenige Daten. Wird die App im Account korrekt verknüpft, so können 5’000 Tweets pro Monat im Archiv gesucht werden. Wer zusätzliche Daten laden möchte, dem bietet Twitter diverse, kostenpflichtige Modelle an. Diese Bezahl-Modelle starten bei 100 $ pro Monat. Und auch dann muss genau geprüft werden, welche Daten in welchem Umfang enthalten sind oder eben nicht.

Dann speichere ich die Daten eben selbst

Das grossartige an einem Lehrgang wie diesem ist, dass sehr viele verschiedene Werkzeuge vorgestellt werden. Jedes hat gewisse Vorzüge gegenüber den Anderen. So wurde die Idee geboren, die relevanten Tweets direkt ab dem Twitter Stream mittels StreamSets zu konsumieren und speichern. Denn es gibt deutlich geringere Restriktionen durch Twitter im Bereich vom Streaming. Das Speichern der Tweets hat dank einem Beispiel welches wir im Unterricht gemeinsam aufgebaut haben auf Anhieb funktioniert.

Ist das Problem nun endlich gelöst?
Leider nicht ganz!
Um den Twitter Stream zu konsumieren musste ich in der Amazon Cloud einen virtuellen Server mieten. Dieser Kostet in meiner Konfiguration ungefähr 80 $ pro Monat.
Weiter muss man sich bewusst sein, dass beim Laden ab einem Stream die Live-Daten enthalten sind. Es gibt keine Möglichkeit rückwirkend Daten im Stream zu erhalten.
Sollte ein neues Trendthema aktiv werden, welches ich noch nicht aufgezeichnet habe, ich die Daten aber nun auch noch möchte, so müssen die Daten mittels API-Zugriff geladen und anschliessend mit den Streaming-Daten zusammengeführt werden.

Fazit – Twitter Daten sind in Hülle und Fülle vorhanden, aber …

Wer mit Twitter Daten arbeiten möchte, der muss sich im Vorfeld genaue Gedanken darüber machen, welche Daten in welchem Ausmass benötigt werden.

Zeitachse für Entscheidung (Grafik: Thomas Krummenacher)
  • Blick in die Vergangenheit – will ich rückwirkend Tweets analysieren?
    Um die Daten der Vergangenheit zu erhalten wird die Twitter-API verwendet. Diese Stellt mir 5’000 Tweets pro Monat kostenlos zur Verfügung. Sollte dies nicht ausreichend sein, so stellt Twitter eine Vielzahl an kostenpflichtigen Zugängen an.
    Diese unterscheiden sich zum Beispiel im zeitlichen Horizont, über welchen die Daten geladen werden können. Es stehen die Varianten 7 Tage, 30 Tage und das gesamte Archiv zur Verfügung.
  • Hier und Jetzt – benötige ich die Daten in Echtzeit?
    Um aktuelle Daten zu sammeln kann auf den Twitter Stream zugegriffen werden. Die dazu benötigte Software wird typischerweise in einer Cloud-Infrastruktur betrieben welche entsprechende Kosten verursacht. Weiter gibt es Einschränkungen sollten neue Daten berücksichtigt werden.

 

Quellen und weiterführende Links

[1] Verschiedene Kostenmodelle: https://developer.twitter.com/en/products/twitter-api
[2] Anleitung Guido Schmutz um Daten via StreamSets aufzuzeichnen und zu speichern: https://github.com/gschmutz/hadoop-spark-workshop/tree/master/09-streamsets

Beitrag teilen

Thomas Krummenacher

Thomas Krummenacher arbeitet bei der Bison Schweiz AG als Business Intelligence Specialist und bloggt aus dem Unterricht des CAS "Big Data Analytics".

Alle Beiträge ansehen von Thomas Krummenacher →

Schreibe einen Kommentar