Twitter4J Tutorial

Twitter4J Tutorial
In dieser Lektion werden wir die Twitter4J -Bibliothek verwenden, um Daten von Twitter abzubauen. Twitter befasst sich jeden Tag mit Big Data, aber was ist es eigentlich? Wir werden einen sehr kurzen Überblick über Big Data haben, bevor wir in Bergbaudaten von Twitter eintauchen.

Warum mein Twitter?

Twitter ist ein perfekter Ort, um Daten aus zu ziehen. Hier sind einige Gründe, warum dies wahr ist:

  • Alle Tweets auf Twitter sind öffentlich
  • Die neuen Daten kommen immer wieder in Echtzeit, was bedeutet, dass Sie nie die frischen Daten ausmachen, um sie zu testen
  • Twitter hat interessante API für Entwickler, von denen sie Daten ziehen können, sie sind auch freundlich
  • Von Twitter bereitgestellte APIs bieten einfache Möglichkeiten, Tweets zu einem bestimmten Benutzer oder mit einem bestimmten Wort/Hashtag oder Tweets an einem bestimmten Ort zu ziehen

Einstieg

Nachdem wir uns gerechtfertigt haben, warum wir diese Plattform verwenden, beginnen wir mit dem Sammeln unserer Tools. Wir werden Java 8 für diese Lektion verwenden, können aber gerne obenversionen verwenden (obwohl einige Verbesserungen, nicht Tweets, möglicherweise benötigt werden, um sie zu verwenden).

Wir werden eine Java -Bibliothek namens Twitter4J verwenden, um eine Verbindung zu Twitters API herzustellen.

Twitter -API -Schlüssel erhalten

Das Erhalten von Twitter -API -Schlüssel ist erforderlich, um auf seine Daten zuzugreifen.

Lassen Sie uns eine Twitter -App erstellen und die richtigen Schlüssel zum Fortschritt erhalten.

  • Erstellen Sie hier eine App

Erstellen Sie in der obigen Form eine Anwendung mit einem eindeutigen Namen, einem Website -Namen (verwenden Sie eine Platzhalter -Website, wenn Sie keine haben) und eine Projektbeschreibung. Akzeptieren Sie die Allgemeinen Geschäftsbedingungen (wenn Sie dies tun) und fahren Sie mit der nächsten Seite fort.

Sobald das Projekt erstellt wurde, sollten Sie eine Seite mit dem folgenden Header sehen:

  • Klicken Sie in Informationen unten auf die Registerkarte "Schlüssel und Zugriff auf Tokens", um die folgenden Informationen zu erhalten:
  • Scrollen Sie nach unten und klicken Sie auf "Zugriffsstoken generieren", um die Informationen zu erhalten:

Wir werden diese Werte später benötigen, damit es besser ist, diese Registerkarte offen zu halten.

Erste Schritte mit Twitter4J

Twitter4J ist ein inoffiziell Java -Bibliothek für die Twitter -API. Mit Twitter4J können wir unsere Java -Anwendung problemlos in den Twitter -Service integrieren.

Abhängigkeit von Maven

Zu Beginn fügen wir unserem Java -Projekt eine angemessene Abhängigkeit von Maven hinzu.


Org.Twitter4J
Twitter4J-Core
4.0.6

Hier finden Sie die neueste Version von Maven Dependenty hier.

Authentifizierung

Wir haben jetzt die erforderliche Maven -Abhängigkeit hinzugefügt. Es ist Zeit, dass wir mit der API und Twitter sprechen.

Um die Konversation zu starten, müssen wir unsere Anrufe bei Twitter authentifizieren, damit nur ein bekannter Benutzer auf die Daten zugreift. Lassen Sie uns dazu unsere zuvor erhaltenen Schlüssel einrichten, die wir zuvor erhalten haben.

statische endgültige String Consumer_key = "You-Key";
statische endgültige String Consumer_secret = "Secret";
statische endgültige String Access_token = "Token";
statische endgültige String Access_Token_secret = "Token-Secret";
public static Twitter GettwitterInstance ()
ConfigurationBuilder cb = new ConfigurationBuilder ();
CB.SetDebugenabled (True) Bashbash
.setoAuthconsumerkey (Consumer_key)
.setoAuthconsumerecret (Consumer_secret)
.setoAuthAccessToken (Access_Token)
.setoAuthAccessTokenSecret (Access_Token_secret);
TwitterFactory tf = new TwitterFactory (CB.bauen());
return tf.bekomme Instanz();

Beispiel: Timeline anzeigen

In diesem Beispiel werden wir einige neueste Tweets aus der Zeitleiste des authentifizierten Benutzers zeigen. Wir werden dies tun, indem wir die Objektstatus -Instanz des Twitter als Folgendes verwenden:

private statische Leere Showhometimeline (Twitter Twitter)
Aufführen Status = null;
versuchen
Status = Twitter.Gethometimeline ();
System.aus.println ("Home Timeline zeigen.");
für (Status Status: Status)
System.aus.println (Status.GetUser ().GetName () + ":" + Status.getText ());
String url = "https: // Twitter.com/" + Status.GetUser ().getCreenname () + "/status/"
+ Status.getid ();
System.aus.println ("oben Tweet URL:" + URL);

catch (TwitterException e)
e.printStacktrace ();

Das Ergebnis sollte wie ein paar zufällige Tweets aussehen:

Wenn Sie dem Link zum Tweet folgen. Das Befolgen des Links vom ersten Tweet gibt uns das folgende Ergebnis:

Abgesehen vom Benutzernamen und dem Tweet -Text enthält die Twitter -API viele Informationen, die aus den folgenden verfügbaren Methoden abgeleitet werden können:

Status.Getource ();
Status.getCreatedat ();
Status.GetFavoreCount ();
Status.getgeolocation ();
Status.getlang ();
Status.Get Place ();
Status.GetRetweetCount ();
Status.GetUser ().getbiggerProfileMageurl ();
Status.GetUser ().Getemail ();
Status.GetUser ().getFollowersCount ();
Status.GetUser ().GetFriendsCount ();

Dies gibt viele Informationen zu dem Tweet und dem Benutzer, der den Tweet gepostet hat. Dazu gehören nicht alle Methoden. Erforschen Sie gerne alle verfügbaren Methoden.

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

Beispiel: Veröffentlichen Sie einen Tweet

In diesem Beispiel veröffentlichen wir einfach einen neuen Tweet aus unserem Code, da der Benutzer bereits authentifiziert ist. Lassen Sie uns hier einen Beispielcode einfügen:

private static void updatetweet (Twitter Twitter, String -Tweet) löst TwitterException aus
Status Status = Twitter.UpdateStatus (Tweet);
System.aus.println ("den Status erfolgreich auf [" + Status aktualisiert.getText () + "].");

Das Posten eines neuen Tweets ist so einfach wie das.

Beispiel: Tweets eines bestimmten Benutzers

Es ist sehr einfach, einen weiteren Benutzer -Tweets zu erhalten. Übergeben Sie einfach einen Benutzernamen und die API wird einige aktuelle Tweets für den Benutzer zurückgeben.

Versuchen wir, die neuesten zwanzig Tweets von Twitter Account @LinuxHint zu ziehen:

Hier ist der Beispielcode:

Aufführen Status = Twitter.GetUsertimeline ("LinuxHint");
für (Status Status: Status)
String fmt = "@" + Status.GetUser ().getCreenname () + " -" + Status.getText ();
System.aus.println (fmt);

Wenn Sie dieses Programm ausführen, sollten Sie Tweets für LinuxHint sehen.

Beliebte Anwendungen dieser Art von Daten können umfassen:

  • Ausführende Analyse für bestimmte Benutzer und wie sie mit der Welt interagieren
  • Finden von Twitter -Influencern und Analyse ihrer Follower -Trends und -interaktionen
  • Überwachung der Änderungen in den Followern eines Benutzers

Beispiel: Tweets mit einem Schlüsselwort finden

Lassen Sie uns ein letztes Beispiel machen: Erhalten Sie die 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 möchten sehen, wie Twitter Linux erwähnt hat:

// suchterm = Linux
private statische void SearchTweets (Twitter Twitter, String -Searchterm) löscht TwitterException
Query query = new Query ("Quelle:" + Suchterm);
QueryResult Ergebnis = Twitter.Suchanfrage);
für (Statusstatus: Ergebnis.GetTweets ())
System.aus.println ("@" + Status.GetUser ().getCreenname () + ":" + Status.getText ());

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

  • Erstellen Sie eine räumliche Grafik darüber, wo Ihr Unternehmen am weltweit am meisten erwähnt wird
  • Führen Sie die Sentiment -Analyse auf Tweets durch, um festzustellen, ob die Gesamtmeinung Ihres Unternehmens positiv oder negativ ist
  • Erstellen Sie soziale Grafiken der beliebtesten Benutzer, die über Ihr Unternehmen oder Produkt twittern

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

Die API von Twitter ist in Data Mining -Anwendungen immens nützlich und kann große Einblicke in die öffentliche Meinung geben.