Twitter Data Mining: Ein Leitfaden zur Big-Data-Analyse mit Python

Veröffentlicht: 2022-03-11

Big Data ist überall. Zeitraum. Bei der Führung eines erfolgreichen Unternehmens in der heutigen Zeit werden Sie wahrscheinlich darauf stoßen, ob Sie es wollen oder nicht.

Egal, ob Sie ein Geschäftsmann sind, der versucht, mit der Zeit Schritt zu halten, oder ein Programmier-Wunderkind, das nach seinem nächsten Projekt sucht, dieses Tutorial gibt Ihnen einen kurzen Überblick darüber, was Big Data ist. Sie erfahren, wie es auf Sie anwendbar ist und wie Sie über die Twitter-API und Python schnell loslegen können.

Python-Schlange, die Twitter liest

Was ist Big Data?

Big Data ist genau das, wonach es sich anhört – viele Daten. Ein einzelner Datenpunkt allein kann Ihnen nicht viel Aufschluss geben. Aber Terabytes an Daten, kombiniert mit komplexen mathematischen Modellen und ungestümer Rechenleistung, können Erkenntnisse liefern, zu denen Menschen nicht in der Lage sind. Der Wert, den Big Data Analytics einem Unternehmen bietet, ist nicht greifbar und übertrifft täglich die menschlichen Fähigkeiten.

Der erste Schritt zur Big-Data-Analyse ist das Sammeln der Daten selbst. Dies wird als „Data-Mining“ bezeichnet. Daten können von überall her kommen. Die meisten Unternehmen verarbeiten Gigabyte an Benutzer-, Produkt- und Standortdaten. In diesem Tutorial untersuchen wir, wie wir Data-Mining-Techniken verwenden können, um Twitter-Daten zu sammeln, was nützlicher sein kann, als Sie vielleicht denken.

Angenommen, Sie betreiben Facebook und möchten Messenger-Daten verwenden, um Erkenntnisse darüber zu gewinnen, wie Sie Ihr Publikum besser ansprechen können. Messenger hat monatlich 1,2 Milliarden aktive Nutzer. In diesem Fall handelt es sich bei den Big Data um Gespräche zwischen Benutzern. Wenn Sie die Konversationen jedes Benutzers einzeln lesen würden, könnten Sie ein gutes Gefühl dafür bekommen, was ihnen gefällt, und ihnen entsprechende Produkte empfehlen. Mit einer maschinellen Lerntechnik, die als Natural Language Processing (NLP) bekannt ist, können Sie dies in großem Umfang tun, wobei der gesamte Prozess automatisiert und Maschinen überlassen wird.

Dies ist nur eines von unzähligen Beispielen, wie Machine Learning und Big Data Analytics Mehrwert für Ihr Unternehmen schaffen können.

Warum Twitter-Daten?

Twitter ist eine Goldgrube an Daten. Im Gegensatz zu anderen sozialen Plattformen sind die Tweets fast aller Benutzer vollständig öffentlich und abrufbar. Dies ist ein großes Plus, wenn Sie versuchen, eine große Datenmenge für die Durchführung von Analysen zu erhalten. Twitter-Daten sind auch ziemlich spezifisch. Mit der API von Twitter können Sie komplexe Abfragen durchführen, z. B. jeden Tweet zu einem bestimmten Thema innerhalb der letzten zwanzig Minuten abrufen oder die nicht retweeteten Tweets eines bestimmten Benutzers abrufen.

Eine einfache Anwendung könnte die Analyse sein, wie Ihr Unternehmen in der Öffentlichkeit ankommt. Sie könnten die letzten 2.000 Tweets sammeln, in denen Ihr Unternehmen (oder ein beliebiger Begriff) erwähnt wird, und einen Stimmungsanalysealgorithmus darüber ausführen.

Wir können auch gezielt Nutzer ansprechen, die an einem bestimmten Ort leben, was als räumliche Daten bezeichnet wird. Eine weitere Anwendung könnte darin bestehen, die Gebiete auf der Welt zu kartieren, in denen Ihr Unternehmen am häufigsten erwähnt wurde.

Wie Sie sehen können, können Twitter-Daten eine große Tür zu den Erkenntnissen der allgemeinen Öffentlichkeit und dazu sein, wie sie ein Thema aufnimmt. In Kombination mit der Offenheit und der großzügigen Ratenbegrenzung der API von Twitter kann dies zu starken Ergebnissen führen.

Werkzeugübersicht

Für diese Beispiele verwenden wir Python 2.7. Idealerweise sollten Sie eine IDE haben, in der Sie diesen Code schreiben können. Ich werde PyCharm - Community Edition verwenden.

Um eine Verbindung zur Twitter-API herzustellen, verwenden wir eine Python-Bibliothek namens Tweepy, die wir gleich installieren werden.

Einstieg

Twitter-Entwicklerkonto

Um die API von Twitter verwenden zu können, müssen wir ein Entwicklerkonto auf der Twitter-Apps-Site erstellen.

  1. Melden Sie sich an oder erstellen Sie ein Twitter-Konto unter https://apps.twitter.com/.
  2. Neue App erstellen (Schaltfläche oben rechts)
    Position der Schaltfläche zum Erstellen einer App
  3. Füllen Sie die Seite zur App-Erstellung mit einem eindeutigen Namen, einem Website-Namen (verwenden Sie eine Platzhalter-Website, wenn Sie keine haben) und einer Projektbeschreibung aus. Akzeptieren Sie die Allgemeinen Geschäftsbedingungen und fahren Sie mit der nächsten Seite fort.
    Formular zur App-Erstellung
  4. Nachdem Ihr Projekt erstellt wurde, klicken Sie auf die Registerkarte „Schlüssel und Zugriffstoken“. Sie sollten jetzt Ihr Verbrauchergeheimnis und Ihren Verbraucherschlüssel sehen können.
    Speicherort des Twitter-API-Schlüssels und -Geheimnisses
  5. Sie benötigen außerdem ein Paar Zugriffstoken. Scrollen Sie nach unten und fordern Sie diese Token an. Die Seite sollte aktualisiert werden, und Sie sollten jetzt über ein Zugriffstoken und ein Zugriffstokengeheimnis verfügen.
    Formular mit Zugriffstoken

Wir werden diese alle später benötigen, also stellen Sie sicher, dass Sie diesen Tab geöffnet lassen.

Tweepy installieren

Tweepy ist ein hervorragend unterstütztes Tool für den Zugriff auf die Twitter-API. Es unterstützt Python 2.6, 2.7, 3.3, 3.4, 3.5 und 3.6. Es gibt verschiedene Möglichkeiten, Tweepy zu installieren. Der einfachste Weg ist die Verwendung von pip .

Mit Pip

Geben Sie einfach pip install tweepy in Ihr Terminal ein.

Verwenden von GitHub

Sie können den Anweisungen im GitHub-Repository von Tweepy folgen. Die grundlegenden Schritte sind wie folgt:

 git clone https://github.com/tweepy/tweepy.git cd tweepy python setup.py install

Dort können Sie auch Installationsprobleme beheben.

Authentifizieren

Jetzt, da wir die notwendigen Werkzeuge bereit haben, können wir mit dem Programmieren beginnen! Die Basis jeder Anwendung, die wir heute erstellen werden, erfordert die Verwendung von Tweepy, um ein API-Objekt zu erstellen, mit dem wir Funktionen aufrufen können. Um das API-Objekt zu erstellen, müssen wir uns jedoch zunächst mit unseren Entwicklerinformationen authentifizieren.

Lassen Sie uns zunächst Tweepy importieren und unsere eigenen Authentifizierungsinformationen hinzufügen.

 import tweepy consumer_key = "wXXXXXXXXXXXXXXXXXXXXXXX1" consumer_secret = "qXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXh" access_token = "9XXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXi" access_token_secret = "kXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXT"

Jetzt ist es an der Zeit, unser API-Objekt zu erstellen.

 # Creating the authentication object auth = tweepy.OAuthHandler(consumer_key, consumer_secret) # Setting your access token and secret auth.set_access_token(access_token, access_token_secret) # Creating the API object while passing in auth information api = tweepy.API(auth)

Dies wird die Grundlage jeder von uns erstellten Anwendung sein, also stellen Sie sicher, dass Sie sie nicht löschen.

Beispiel 1: Ihre Zeitleiste

In diesem Beispiel ziehen wir die zehn neuesten Tweets aus Ihrem Twitter-Feed. Dazu verwenden wir die Funktion home_timeline() des API-Objekts. Wir können das Ergebnis dann in einer Variablen speichern und es durchlaufen, um die Ergebnisse zu drucken.

 # Using the API object to get tweets from your timeline, and storing it in a variable called public_tweets public_tweets = api.home_timeline() # foreach through all tweets pulled for tweet in public_tweets: # printing the text stored inside the tweet object print tweet.text

Das Ergebnis sollte wie ein Haufen zufälliger Tweets aussehen, gefolgt von der URL zum Tweet selbst.

Tweeten Sie Inhalte und Links auf dem Terminal

Wenn Sie dem Link zum Tweet folgen, gelangen Sie häufig zum Tweet selbst. Dem Link aus dem ersten Tweet zu folgen, würde uns das folgende Ergebnis liefern:

Tweet, dass der erste Link auf das vorherige Bild verlinkt

Beachten Sie, dass Sie, wenn Sie dies über ein Terminal und nicht über eine IDE wie PyCharm ausführen, möglicherweise einige Formatierungsprobleme haben, wenn Sie versuchen, den Text des Tweets zu drucken.

Das JSON hinter den Ergebnissen

Im obigen Beispiel haben wir den Text von jedem Tweet mit tweet.text . Um auf bestimmte Attribute jedes Tweet-Objekts zu verweisen, müssen wir uns das von der Twitter-API zurückgegebene JSON ansehen.

Das Ergebnis, das Sie von der Twitter-API erhalten, liegt im JSON-Format vor und enthält eine ganze Menge an angehängten Informationen. Der Einfachheit halber konzentriert sich dieses Tutorial hauptsächlich auf das „Text“-Attribut jedes Tweets und Informationen über den Tweeter (den Benutzer, der den Tweet erstellt hat). Für das obige Beispiel können Sie hier das gesamte zurückgegebene JSON-Objekt sehen.

Hier ist ein kurzer Blick auf einige Attribute, die ein Tweet zu bieten hat.

Einige der Attribute, die von der Twitter-API zurückgegeben werden

Wenn Sie das Datum finden möchten, an dem der Tweet erstellt wurde, würden Sie es mit print tweet.created_at .

Sie können auch sehen, dass jedes Tweet-Objekt Informationen über den Hochtöner enthält.

Von der Twitter-API zurückgegebene Benutzerattribute

Um die Attribute „name“ und „location“ des Hochtöners zu erhalten, könnten Sie print tweet.user.screen_name und print tweet.user.location .

Beachten Sie, dass diese Attribute äußerst nützlich sein können, wenn Ihre Anwendung von räumlichen Daten abhängt.

Beispiel 2: Tweets von einem bestimmten Benutzer

In diesem Beispiel ziehen wir einfach die letzten zwanzig Tweets von einem Benutzer unserer Wahl.

Zuerst untersuchen wir die Tweepy-Dokumentation, um zu sehen, ob eine solche Funktion existiert. Mit ein wenig Recherche stellen wir fest, dass die Funktion user_timeline() das ist, wonach wir suchen.

Dokumentation für den Benutzer-Timeline-Befehl

Wir können sehen, dass die Funktion user_timeline() einige nützliche Parameter hat, die wir verwenden können, insbesondere id (die ID des Benutzers) und count (die Anzahl der Tweets, die wir abrufen möchten). Beachten Sie, dass wir aufgrund der Ratenbegrenzungen von Twitter nur eine begrenzte Anzahl von Tweets pro Abfrage abrufen können.

Lassen Sie uns versuchen, die letzten zwanzig Tweets vom Twitter-Konto @NyTimes abzurufen.

Der Inhalt des Twitter-Kontos @NyTimes zum Zeitpunkt des Schreibens

Wir können Variablen erstellen, um die Anzahl der Tweets zu speichern, die wir abrufen möchten (Anzahl), und den Benutzer, von dem wir sie abrufen möchten (Name). Wir können dann die Funktion user_timeline mit diesen beiden Parametern aufrufen. Unten ist der aktualisierte Code (beachten Sie, dass Sie die Authentifizierung und API-Objekterstellung am Anfang Ihres Codes behalten sollten).

 # Creating the API object while passing in auth information api = tweepy.API(auth) # The Twitter user who we want to get tweets from name = "nytimes" # Number of tweets to pull tweetCount = 20 # Calling the user_timeline function with our parameters results = api.user_timeline(id=name, count=tweetCount) # foreach through all tweets pulled for tweet in results: # printing the text stored inside the tweet object print tweet.text

Unsere Ergebnisse sollten in etwa so aussehen:

Inhalte der Benutzer-Timeline für @NyTimes

Beliebte Anwendungen dieser Art von Daten können sein:

  • Ausführen von Analysen zu bestimmten Benutzern und wie sie mit der Welt interagieren
  • Suche nach Twitter-Influencern und Analyse ihrer Follower-Trends und -Interaktionen
  • Überwachung der Änderungen in den Followern eines Benutzers

Beispiel 3: Suchen von Tweets anhand eines Schlüsselworts

Lassen Sie uns ein letztes Beispiel machen: Abrufen der neuesten Tweets, die ein Schlüsselwort enthalten. Dies kann äußerst nützlich sein, wenn Sie speziell erwähnte Themen in der Twitter-Welt überwachen oder sogar sehen möchten, wie Ihr Unternehmen erwähnt wird. Nehmen wir an, wir wollen sehen, wie Twitter Toptal erwähnt hat.

Nach Durchsicht der Tweepy-Dokumentation scheint die search() Funktion das beste Werkzeug zu sein, um unser Ziel zu erreichen.

Dokumentation für den Suchbefehl

Der wichtigste Parameter hier ist q – der Abfrageparameter, das ist das Schlüsselwort, nach dem wir suchen.

Wir können auch den Sprachparameter so einstellen, dass wir keine Tweets aus einer unerwünschten Sprache erhalten. Lassen Sie uns nur englische („en“) Tweets zurückgeben.

Wir können jetzt unseren Code ändern, um die gewünschten Änderungen widerzuspiegeln. Wir erstellen zuerst Variablen zum Speichern unserer Parameter (Abfrage und Sprache) und rufen dann die Funktion über das API-Objekt auf. Lassen Sie uns auch den Bildschirmnamen des Benutzers, der den Tweet erstellt hat, in unserer Schleife ausgeben.

 # Creating the API object while passing in auth information api = tweepy.API(auth) # The search term you want to find query = "Toptal" # Language code (follows ISO 639-1 standards) language = "en" # Calling the user_timeline function with our parameters results = api.search(q=query, lang=language) # foreach through all tweets pulled for tweet in results: # printing the text stored inside the tweet object print tweet.user.screen_name,"Tweeted:",tweet.text

Unsere Ergebnisse sollten in etwa so aussehen:

Suchergebnisse bei der Suche nach Toptal

Hier sind einige praktische Möglichkeiten, wie Sie diese Informationen verwenden können:

  • Erstellen Sie ein räumliches Diagramm darüber, wo Ihr Unternehmen weltweit am häufigsten erwähnt wird
  • Führen Sie Stimmungsanalysen zu Tweets durch, um zu sehen, ob die Gesamtmeinung Ihres Unternehmens positiv oder negativ ist
  • Erstellen Sie Social Graphs der beliebtesten Benutzer, die über Ihr Unternehmen oder Produkt twittern

Wir können einige dieser Themen in zukünftigen Artikeln behandeln.

Fazit

Die API von Twitter ist in Data-Mining-Anwendungen äußerst nützlich und kann umfassende Einblicke in die öffentliche Meinung geben. Wenn Sie sich weiter für die Twitter-API und Big-Data-Analysen interessieren, empfehle ich Ihnen, mehr über die Twitter-API, Tweepy und die Ratenbegrenzungsrichtlinien von Twitter zu lesen.

Wir haben nur die Grundlagen des Zugreifens und Ziehens behandelt. Die API von Twitter kann bei sehr komplexen Big-Data-Problemen eingesetzt werden, an denen Menschen, Trends und soziale Diagramme beteiligt sind, die für den menschlichen Verstand zu kompliziert sind, um sie allein zu erfassen.

Siehe auch: Social Network Analysis in R und Gephi: Digging In Twitter