Samouczek Twitter4J

Samouczek Twitter4J
W tej lekcji użyjemy biblioteki Twitter4J do wydobywania danych z Twittera. Twitter zajmuje się Big Data codziennie, ale co to właściwie jest? Będziemy mieli bardzo krótki przegląd dużych danych, zanim zagłębimy się w dane wydobywcze z Twittera.

Dlaczego wydobyć Twitter?

Twitter to idealne miejsce do pobierania danych. Oto kilka powodów, dla których to prawda:

  • Wszystkie tweety na Twitterze są publiczne
  • Nowe dane pojawiają się w czasie rzeczywistym, oznacza to, że nigdy nie zabraknie świeżych danych do przetestowania
  • Twitter ma interesujący interfejs API dla programistów, z których mogą pobierać dane, są również przyjaźni
  • API dostarczone przez Twitter zapewniają łatwe sposoby pobierania tweetów związanych z konkretnym użytkownikiem lub określonym słowem/hashtagiem lub tweetami w określonej lokalizacji

Rozpoczęcie pracy

Teraz, gdy uzasadniliśmy, dlaczego korzystamy z tej platformy, zacznijmy zbierać nasze narzędzia. Będziemy używać Java 8 do tej lekcji, ale możesz użyć powyższych wersji (chociaż niektóre poprawki, a nie tweety, mogą być potrzebne do ich użycia).

Będziemy używać biblioteki Java o nazwie Twitter4J, aby połączyć się z API Twittera.

Otrzymanie klucza API na Twitterze

Uzyskanie klucza interfejsu API na Twitterze jest konieczne, aby uzyskać dostęp do jego danych, ponieważ w ten sposób Twitter śledzi dane i liczba żądań, które nasza aplikacja spoczywa na Twitterze.

Utwórzmy aplikację na Twitterze i uzyskaj prawidłowe klucze do przodu.

  • Utwórz aplikację tutaj

W powyższym formularzu utwórz aplikację o unikalnej nazwie, nazwie strony internetowej (użyj strony zastępczej, jeśli jej nie masz) oraz opis projektu. Zaakceptuj warunki (jeśli to zrobisz) i przejdź do następnej strony.

Po utworzeniu projektu powinieneś zobaczyć stronę z następującym nagłówkiem:

  • W poniższych informacjach kliknij kartę „Klucze i tokeny dostępu”, aby uzyskać następujące informacje:
  • Przewiń w dół i kliknij „Generuj tokeny dostępu”, aby uzyskać poniżej informacje:

Będziemy potrzebować tych wartości później, aby lepiej było otworzyć tę kartę.

Rozpoczęcie pracy z Twitter4J

Twitter4J to nieoficjalny Biblioteka Java dla interfejsu API na Twitterze. Dzięki Twitter4J możemy łatwo zintegrować naszą aplikację Java z usługą na Twitterze.

Zależność Maven

Na początek dodamy odpowiednią zależność Maven do naszego projektu Java.


org.Twitter4J
Twitter4J-Core
4.0.6

Znajdź najnowszą wersję zależności Maven tutaj.

Uwierzytelnianie

Dodaliśmy teraz wymaganą zależność Maven. Czas, abyśmy zaczęli rozmawiać z API i Twitterem.

Aby rozpocząć rozmowę, musimy uwierzytelnić nasze połączenia na Twitter. W tym celu skonfigurujmy nasze klucze, które otrzymaliśmy wcześniej.

statyczny końcowy ciąg Consumer_Key = "You-Key";
statyczny końcowy ciąg konsumpcyjny_secret = "secret";
statyczny końcowy ciąg ACCESE_TOKEN = "token";
statyczny końcowy ciąg ACCESE_TEKEL_SECRET = "token-secret";
public static Twitter getTwitterInstance ()
ConfigurationBuilder cb = new ConfigurationBuilder ();
CB.setDeBuGenabled (true) bashbash
.SetoAuthConsumerkey (Consumer_Key)
.SetoAuthConsumersEcret (Consumer_Secret)
.SetoAuthAccessToken (Access_Token)
.setoAuthAccessTokensEcret (Access_Token_Secret);
TwitterFactory TF = nowy TwitterFactory (CB.zbudować());
zwrócić TF.uzyskac instancje();

Przykład: Pokazanie osi czasu

W tym przykładzie pokażemy najnowsze tweety z harmonogramu uwierzytelnionego użytkownika. Zrobimy to za pomocą instancji statusu obiektu Twittera jako:

Private Static Void ShowHometimeline (Twitter Twitter)
Lista Statusy = null;
próbować
Statusy = Twitter.gethometimeline ();
System.na zewnątrz.println („Pokazanie harmonogramu domu.");
dla (status status: Statuses)
System.na zewnątrz.println (status.getuser ().getName () + ":" + status.getText ());
String url = "https: // twitter.COM/" +.getuser ().getscreenname () + "/status/"
+ status.getId ();
System.na zewnątrz.println („powyżej URL Tweet:” + URL);

catch (twitterException e)
mi.printStackTrace ();

Wynik powinien wyglądać jak kilka przypadkowych tweetów:

Podążanie za linkiem do tweeta często przyniesie Cię do samego tweeta. Postępowanie zgodnie z linkiem z pierwszego tweeta dałoby nam następujący wynik:

Oprócz nazwy użytkownika i tekstu tweeta interfejs API na Twitterze ma wiele informacji, które można wywnioskować z następujących dostępnych metod:

status.getSource ();
status.getCreateDat ();
status.getFaVeriteCount ();
status.getGeolocation ();
status.getlang ();
status.getplace ();
status.getReTweetCount ();
status.getuser ().getBiggerProfileImageUrl ();
status.getuser ().geteMail ();
status.getuser ().getFollowersCount ();
status.getuser ().getfriendScount ();

Daje to wiele informacji związanych z tweetem i użytkownikiem, który opublikował tweet. Obejmują one nie wszystkie metody, możesz zbadać wszystkie dostępne metody.

Zauważ, że te atrybuty mogą być niezwykle przydatne, jeśli aplikacja zależy od większej liczby danych.

Przykład: Opublikuj tweet

W tym przykładzie po prostu opublikujemy nowy tweet z naszego kodu, ponieważ użytkownik jest już uwierzytelniony. Umieśćmy tutaj przykładowy kod:

Private static Void UpdateTweet (Twitter Twitter, String Tweet) rzuca TwitterException
Status status = Twitter.UpdateSestatus (tweet);
System.na zewnątrz.println („Pomyślnie zaktualizowałem status do [” + status.getText () + "].");

Publikowanie nowego tweeta jest tak proste.

Przykład: Tweety od konkretnego użytkownika

Bardzo łatwo jest uzyskać kolejne tweety użytkownika, po prostu przekazaj nazwę użytkownika, a interfejs API zwróci kilka najnowszych tweetów dla użytkownika.

Spróbujmy wyciągnąć najnowsze dwadzieścia tweetów z konta na Twitterze @linuxhint:

Oto przykładowy kod:

Lista Statusy = Twitter.getusertimeline („Linuxhint”);
dla (status status: Statuses)
String fmt = "@" + status.getuser ().getscreenname () + " -" + status.getText ();
System.na zewnątrz.println (fmt);

Po uruchomieniu tego programu powinieneś zobaczyć tweety dla Linuxhint.

Popularne zastosowania tego rodzaju danych mogą obejmować:

  • Uruchamianie analizy na określonych użytkownikach i ich interakcji ze światem
  • Znalezienie wpływów na Twitter i analizowanie trendów i interakcji obserwujących
  • Monitorowanie zmian u obserwujących użytkownika

Przykład: Znalezienie tweetów za pomocą słowa kluczowego

Zróbmy ostatni przykład: uzyskanie najnowszych tweetów zawierających słowo kluczowe. Może to być niezwykle przydatne, jeśli chcesz monitorować specjalnie wymienione tematy w świecie na Twitterze, a nawet zobaczyć, jak wspomniana jest Twoja firma.

Powiedzmy, że chcemy zobaczyć, jak Twitter wspomniał o Linuksie:

// Searchterm = Linux
Private Static void SearchTweets (Twitter Twitter, String Searchter) rzuca TwitterException
Zapytanie zapytanie = nowe zapytanie („źródło:” + wyszukiwarka);
QueryResult Result = Twitter.wyszukiwana fraza);
dla (status status: wynik.getTweets ())
System.na zewnątrz.println (status „@” +.getuser ().getscreenname () + ":" + status.getText ());

Oto kilka praktycznych sposobów korzystania z tych informacji:

  • Utwórz wykres przestrzenny, w którym najczęściej wspomniana jest Twoja firma na całym świecie
  • Uruchom analizę nastrojów na tweetach, aby sprawdzić, czy ogólna opinia Twojej firmy jest pozytywna czy negatywna
  • Utwórz wykresy społecznościowe najpopularniejszych użytkowników, którzy tweetują o Twojej firmie lub produkcie

Możemy omówić niektóre z tych tematów w przyszłych artykułach.

API Twittera jest niezwykle przydatne w aplikacjach do wydobywania danych i może zapewnić szeroki wgląd w opinię publiczną.