Jáva

Výukový program Twitter4J

Výukový program Twitter4J
V této lekci použijeme k těžbě dat z Twitteru knihovnu Twitter4J. Twitter se Big Data zabývá každý den, ale co to vlastně je? Než se ponoříme do těžby dat z Twitteru, budeme mít velmi krátký přehled o Big Data.

Proč těžit Twitter?

Twitter je ideálním místem pro získávání dat. Zde je několik důvodů, proč je to pravda:

Začínáme

Nyní, když jsme si ospravedlnili, proč používáme tuto platformu, začněme sbírat naše nástroje. Pro tuto lekci budeme používat Java 8, ale neváhejte použít výše uvedené verze (i když k jejich použití mohou být zapotřebí nějaké vylepšení, nikoli tweety).

K připojení k API Twitteru budeme používat knihovnu Java nazvanou Twitter4J.

Získání klíče Twitter API

Získání klíče API API je nutné pro přístup k jeho datům, protože tak Twitter sleduje data a počet požadavků, které naše aplikace na Twitter dělá.

Vytvořme si aplikaci Twitter a získejte správné klíče pro posun vpřed.

Ve výše uvedeném formuláři vytvořte aplikaci s jedinečným názvem, názvem webu (použijte zástupný web, pokud jej nemáte) a popisem projektu. Přijměte podmínky (pokud ano) a přejděte na další stránku.

Jakmile je projekt vytvořen, měla by se zobrazit stránka s následující hlavičkou:

Tyto hodnoty budeme potřebovat později, takže bude lepší nechat tuto kartu otevřenou.

Začínáme s Twitter4J

Twitter4J je neoficiální Knihovna Java pro rozhraní Twitter API. S Twitter4J můžeme snadno integrovat naši aplikaci Java se službou Twitter.

Maven závislost

Začneme tím, že do projektu Java přidáme příslušnou závislost Maven.


org.twitter4j
twitter4j-jádro
4.0.6

Nejnovější verzi závislostí maven najdete zde.

Ověření

Nyní jsme přidali požadovanou závislost Maven. Je čas začít mluvit s API a Twitterem.

Chcete-li zahájit konverzaci, musíme ověřit naše hovory na Twitter, aby věděl, že k datům přistupuje pouze známý uživatel. Za tímto účelem nastavíme naše klíče, které jsme získali dříve.

statický konečný řetězec CONSUMER_KEY = "vy klíč";
statický konečný řetězec CONSUMER_SECRET = "tajemství";
statický konečný řetězec ACCESS_TOKEN = "token";
statický konečný řetězec ACCESS_TOKEN_SECRET = "token-secret";
veřejný 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 (cb.stavět());
vrátit tf.getInstance ();

Příklad: Zobrazení časové osy

V tomto příkladu ukážeme některé nejnovější tweety z časové osy ověřeného uživatele. Uděláme to tak, že použijeme instanci stavu objektu Twitter jako:

private static void showHomeTimeline (Twitter twitter)
Seznam statusy = null;
Snaž se
statusy = twitter.getHomeTimeline ();
Systém.ven.println ("Zobrazuje se domácí časová osa.");
pro (Stav stavu: stavy)
Systém.ven.println (stav.getUser ().getName () + ":" + stav.getText ());
String url = "https: // twitter.stav com / "+.getUser ().getScreenName () + "/ status /"
+ postavení.getId ();
Systém.ven.println ("URL nad tweetem:" + url);

chytit (TwitterException e)
E.printStackTrace ();

Výsledek by měl vypadat jako spousta náhodných tweetů:

Po odkazu na tweet se často dostanete k samotnému tweetu. Sledování odkazu z prvního tweetu by nám dalo následující výsledek:

Kromě uživatelského jména a textu tweetu má Twitter API spoustu informací, které lze odvodit z následujících dostupných metod:

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

To poskytuje spoustu informací souvisejících s Tweetem a uživatelem, který tweet zveřejnil. Patří sem ne všechny metody, můžete prozkoumat všechny dostupné metody.

Tyto atributy mohou být velmi užitečné, pokud vaše aplikace závisí na více datech.

Příklad: Odeslání tweetu

V tomto příkladu jednoduše pošleme nový tweet z našeho kódu, protože uživatel je již ověřen. Sem vložíme ukázkový kód:

private static void updateTweet (Twitter twitter, String tweet) throws TwitterException
Stav status = twitter.updateStatus (tweet);
Systém.ven.println ("Úspěšně aktualizován stav na [" + stav.getText () + "].");

Zveřejnění nového tweetu je tak jednoduché.

Příklad: Tweety od konkrétního uživatele

Je velmi snadné získat tweety jiného uživatele, stačí předat uživatelské jméno a rozhraní API vrátí uživateli nějaké nové tweety.

Zkusme vytáhnout nejnovější dvacet tweetů z twitterového účtu @linuxhint:

Zde je ukázkový kód:

Seznam statusy = twitter.getUserTimeline („linuxhint“);
pro (Stav stavu: stavy)
Řetězec fmt = "@" + stav.getUser ().stav getScreenName () + "-" +.getText ();
Systém.ven.println (fmt);

Když spustíte tento program, měli byste vidět Tweety pro LinuxHint.

Mezi oblíbené aplikace tohoto typu dat patří:

  • Spuštění analýzy konkrétních uživatelů a jejich interakce se světem
  • Nalezení ovlivňujících osob na Twitteru a analýza jejich následovníků a interakcí
  • Monitorování změn ve sledovatelích uživatele

Příklad: Hledání tweetů pomocí klíčového slova

Uděláme jeden poslední příklad: Získání nejnovějších tweetů, které obsahují klíčové slovo. To může být velmi užitečné, pokud chcete sledovat konkrétně zmíněná témata ve světě Twitteru, nebo dokonce vidět, jak se vaše firma zmiňuje.

Řekněme, že chceme vidět, jak Twitter zmiňuje Linux:

// searchTerm = Linux
private static void searchTweets (Twitter twitter, String searchTerm) throws TwitterException
Dotaz na dotaz = nový dotaz ("source:" + searchTerm);
Výsledek dotazu = twitter.hledat (dotaz);
pro (Stav stavu: výsledek.getTweets ())
Systém.ven.println ("@" + stav.getUser ().getScreenName () + ":" + stav.getText ());

Zde je několik praktických způsobů, jak můžete tyto informace použít:

  • Vytvořte prostorový graf o tom, kde je vaše společnost zmiňována nejčastěji po celém světě
  • Spusťte analýzu sentimentu na tweetech a zjistěte, zda je celkový názor vaší společnosti pozitivní nebo negativní
  • Vytvořte sociální grafy nejpopulárnějších uživatelů, kteří pípají o vaší společnosti nebo produktu

Některým z těchto témat se můžeme věnovat v budoucích článcích.

Rozhraní API společnosti Twitter je nesmírně užitečné v aplikacích pro dolování dat a může poskytnout obrovský pohled na veřejné mínění.

Hry Nainstalujte si nejnovější Dolphin Emulator pro Gamecube a Wii na Linuxu
Nainstalujte si nejnovější Dolphin Emulator pro Gamecube a Wii na Linuxu
Emulátor Dolphin vám umožní hrát vybrané hry Gamecube a Wii na osobních počítačích se systémem Linux (PC). Jako volně dostupný herní emulátor s otevř...
Hry Jak používat GameConqueror Cheat Engine v Linuxu
Jak používat GameConqueror Cheat Engine v Linuxu
Tento článek popisuje průvodce používáním cheatovacího modulu GameConqueror v systému Linux. Mnoho uživatelů, kteří hrají hry v systému Windows, často...
Hry Nejlepší emulátory herních konzolí pro Linux
Nejlepší emulátory herních konzolí pro Linux
Tento článek uvádí seznam populárního softwaru pro emulaci herních konzolí, který je k dispozici pro Linux. Emulace je vrstva softwarové kompatibility...