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:
- Všetky tweety na Twitteri sú verejné
- Nové údaje prichádzajú v reálnom čase, to znamená, že vám nikdy nedôjde dostatok čerstvých údajov na testovanie
- Twitter má pre vývojárov zaujímavé API, z ktorého môžu čerpať dáta, sú tiež priateľskí
- API poskytované Twitterom poskytujú jednoduché spôsoby, ako načítať tweety súvisiace s konkrétnym používateľom alebo s konkrétnym slovom / hashtagom alebo tweety na určitom mieste
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.
- Vytvorte si tu aplikáciu
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:
- Ak chcete získať viac informácií, kliknite na kartu „Kľúče a prístupové tokeny“ a získate nasledujúce informácie:
- Posuňte zobrazenie nadol a kliknite na položku „Generovať prístupové tokeny“, aby ste získali nižšie uvedené informácie:
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.
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
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 TwitterExceptionStav 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:
Zoznampre (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 = Linuxprivate 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.