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:
- Všechny tweety na Twitteru jsou veřejné
- Nová data přicházejí v reálném čase, to znamená, že vám nikdy nedojdou nová data, která byste mohli otestovat
- Twitter má pro vývojáře zajímavé API, ze kterého mohou získávat data, jsou také přátelští
- API poskytovaná Twitterem poskytují snadné způsoby, jak stahovat tweety související s konkrétním uživatelem nebo s konkrétním slovem / hashtagem nebo tweety na určitém místě
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.
- Vytvořte aplikaci zde
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:
- V níže uvedených informacích získáte kliknutím na kartu „Klíče a přístupové tokeny“ následující informace:
- Přejděte dolů a klikněte na „Generovat přístupové tokeny“, abyste získali níže uvedené informace:
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.
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
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 TwitterExceptionStav 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:
Seznampro (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 = Linuxprivate 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í.