Java

Výukový program Twitter4J

Výukový program Twitter4J
V tejto lekcii použijeme knižnicu Twitter4J na ťažbu údajov z Twitteru. Twitter sa zaoberá Big Data každý deň, ale čo to vlastne je? Pred ponorením sa do údajov o ťažbe z Twitteru budeme mať veľmi krátky prehľad o Big Data.

Prečo ťažiť Twitter?

Twitter je dokonalým miestom na získavanie údajov. Tu je niekoľko dôvodov, prečo je to pravda:

Začíname

Teraz, keď sme odôvodnili, prečo používame túto platformu, začnime zhromažďovať naše nástroje. Pre túto lekciu budeme používať Java 8, ale pokojne použite vyššie uvedené verzie (aj keď na ich použitie môžu byť potrebné niektoré vylepšenia, nie tweety).

Na pripojenie k API služby Twitter budeme používať knižnicu Java s názvom Twitter4J.

Získava sa kľúč API služby Twitter

Získanie kľúča Twitter API je potrebné na prístup k jeho údajom, pretože tak Twitter sleduje údaje a počet žiadostí, ktoré naša aplikácia na Twitter dáva.

Vytvorme si aplikáciu Twitter a získajme správne kľúče, aby sme sa posunuli vpred.

Vo vyššie uvedenom formulári vytvorte aplikáciu s jedinečným názvom, názvom webovej stránky (ak ju nemáte, použite zástupný web) a popisom projektu. Prijmite zmluvné podmienky (ak súhlasíte) a pokračujte na ďalšiu stránku.

Po vytvorení projektu by sa vám mala zobraziť stránka s nasledujúcou hlavičkou:

Tieto hodnoty budeme potrebovať neskôr, takže bude lepšie, keď budete mať túto kartu otvorenú.

Začíname s Twitter4J

Twitter4J je neoficiálne Knižnica Java pre rozhranie Twitter API. S Twitter4J môžeme ľahko integrovať našu Java aplikáciu so službou Twitter.

Maven závislosť

Na začiatok do nášho projektu Java pridáme príslušnú závislosť Maven.


org.twitter4j
twitter4j-jadro
4.0.6

Najnovšiu verziu závislostí od Maven nájdete tu.

Overenie

Teraz sme pridali požadovanú závislosť Maven. Je čas, aby sme sa začali rozprávať s API a Twitterom.

Na začatie konverzácie potrebujeme overiť naše hovory na Twitteri, aby vedel, že k údajom pristupuje iba známy používateľ. Z tohto dôvodu nastavíme naše kľúče, ktoré sme získali predtým.

statický konečný reťazec CONSUMER_KEY = "vy-kľúč";
statický konečný reťazec CONSUMER_SECRET = "tajný";
statický konečný reťazec ACCESS_TOKEN = "token";
statický konečný reťazec ACCESS_TOKEN_SECRET = "token-secret";
verejný statický Twitter getTwitterInstance ()
ConfigurationBuilder cb = nový ConfigurationBuilder ();
cb.setDebugEnabled (true) bashbash
.setOAuthConsumerKey (CONSUMER_KEY)
.setOAuthConsumerSecret (CONSUMER_SECRET)
.setOAuthAccessToken (ACCESS_TOKEN)
.setOAuthAccessTokenSecret (ACCESS_TOKEN_SECRET);
TwitterFactory tf = nová TwitterFactory (porov.build ());
vrátiť tf.getInstance ();

Príklad: Zobrazenie časovej osi

V tomto príklade ukážeme posledné tweety z časovej osi overeného používateľa. Urobíme to tak, že použijeme inštanciu stavu objektu Twitter ako:

private static void showHomeTimeline (Twitter twitter)
Zoznam statusy = null;
skúsiť
statusy = twitter.getHomeTimeline ();
Systém.von."Zobrazuje sa domáca časová os.");
pre (Stav stavu: stavy)
Systém.von.println (stav.getUser ().getName () + ":" + stav.getText ());
Reťazcová adresa URL = "https: // twitter.stav com / "+.getUser ().getScreenName () + "/ status /"
+ postavenie.getId ();
Systém.von.println ("Adresa URL nad tweetom:" + url);

úlovok (TwitterException e)
e.printStackTrace ();

Výsledok by mal vyzerať ako skupina náhodných tweetov:

Kliknutím na odkaz na tweet sa často dostanete na samotný tweet. Po kliknutí na odkaz z prvého tweetu by ste získali nasledujúci výsledok:

Okrem používateľského mena a textu tweetu má Twitter API ešte veľa informácií, ktoré je možné odvodiť z nasledujúcich dostupných metód:

postavenie.getSource ();
postavenie.getCreatedAt ();
postavenie.getFavoriteCount ();
postavenie.getGeoLocation ();
postavenie.getLang ();
postavenie.getPlace ();
postavenie.getRetweetCount ();
postavenie.getUser ().getBiggerProfileImageURL ();
postavenie.getUser ().getEmail ();
postavenie.getUser ().getFollowersCount ();
postavenie.getUser ().getFriendsCount ();

Poskytuje veľa informácií týkajúcich sa Tweetu a používateľa, ktorý tweet zverejnil. Patria sem nie všetky metódy, môžete preskúmať všetky dostupné metódy.

Upozorňujeme, že tieto atribúty môžu byť mimoriadne užitočné, ak vaša aplikácia závisí od väčšieho množstva údajov.

Príklad: Uverejnite tweet

V tomto príklade jednoducho uverejníme nový tweet z nášho kódu, pretože používateľ je už autentizovaný. Sem vložíme ukážkový kód:

private static void updateTweet (Twitter twitter, String tweet) throws TwitterException
Stav status = twitter.updateStatus (tweet);
Systém.von.println ("Stav bol úspešne aktualizovaný na stav [" +.getText () + "].");

Uverejnenie nového tweetu je také jednoduché.

Príklad: Tweety od konkrétneho používateľa

Získanie tweetov iného používateľa je veľmi jednoduché, stačí zadať používateľské meno a rozhranie API vráti používateľovi nejaké posledné tweety.

Skúsme vytiahnuť posledných dvadsať tweetov z twitterového účtu @linuxhint:

Tu je ukážka kódu:

Zoznam statusy = twitter.getUserTimeline („linuxhint“);
pre (Stav stavu: stavy)
Reťazec fmt = "@" + stav.getUser ().stav getScreenName () + "-" +.getText ();
Systém.von.println (fmt);

Po spustení tohto programu by sa mali zobraziť Tweety pre LinuxHint.

Medzi populárne aplikácie tohto typu údajov patria:

  • Analýza prebiehajúca na konkrétnych používateľoch a o tom, ako interagujú so svetom
  • Nájdenie ovplyvňujúcich používateľov Twitteru a analýza ich sledovacích trendov a interakcií
  • Monitorovanie zmien v sledovateľoch používateľa

Príklad: Vyhľadanie tweetov pomocou kľúčového slova

Urobme si posledný príklad: Získanie najnovších tweetov obsahujúcich kľúčové slovo. To môže byť veľmi užitočné, ak chcete monitorovať konkrétne spomenuté témy vo svete Twitteru, alebo dokonca vidieť, ako sa vaše podnikanie spomína.

Povedzme, že chceme vidieť, ako Twitter spomína Linux:

// searchTerm = Linux
private static void searchTweets (Twitter twitter, String searchTerm) throws TwitterException
Dotaz na dopyt = nový dopyt ("zdroj:" + searchTerm);
Výsledok QueryResult = twitter.Vyhľadávací dopyt);
pre (Stav stavu: výsledok.getTweets ())
Systém.von.println ("@" + stav.getUser ().stav getScreenName () + ":" +.getText ());

Tu je niekoľko praktických spôsobov, ako môžete tieto informácie použiť:

  • Vytvorte priestorový graf na mieste, kde je vaša spoločnosť spomínaná najviac na celom svete
  • Spustite analýzu sentimentu na tweetoch a zistite, či je celkový názor vašej spoločnosti pozitívny alebo negatívny
  • Vytvorte sociálne grafy najpopulárnejších používateľov, ktorí tweetujú o vašej spoločnosti alebo produkte

Niektorým z týchto tém sa môžeme venovať v budúcich článkoch.

Rozhranie API spoločnosti Twitter je nesmierne užitočné v aplikáciách na dolovanie dát a môže poskytnúť obrovský prehľad o verejnej mienke.

Ako zmeniť smer posúvania myši a touchpadu v systéme Windows 10
Myš a TouchpadNielenže uľahčujú výpočty, ale sú aj efektívnejšie a menej časovo náročné. Nemôžeme si predstaviť život bez týchto zariadení, ale je pra...
Ako zmeniť veľkosť, farbu a schému ukazovateľa myši a kurzora v systéme Windows 10
Ukazovateľ myši a kurzor vo Windows 10 sú veľmi dôležité aspekty operačného systému. Dá sa to povedať aj pre iné operačné systémy, takže v skutočnosti...
Hry Zadarmo a open source herné motory pre vývoj hier pre Linux
Zadarmo a open source herné motory pre vývoj hier pre Linux
Tento článok sa bude zaoberať zoznamom bezplatných a otvorených herných nástrojov, ktoré možno použiť na vývoj 2D a 3D hier v systéme Linux. Existuje ...