Java

Vodič za Twitter4J

Vodič za Twitter4J
U ovoj ćemo lekciji koristiti Twitter4J knjižnicu za iskopavanje podataka s Twittera. Twitter se svakodnevno bavi Big Dataom, ali što je to zapravo? Imat ćemo vrlo kratak pregled o Big Datau prije nego što uđemo u rudarske podatke s Twittera.

Zašto mine Twitter?

Twitter je savršeno mjesto za preuzimanje podataka. Evo nekoliko razloga zašto je to istina:

Početak rada

Sad kad smo opravdali zašto koristimo ovu platformu, krenimo sa prikupljanjem naših alata. Za ovu ćemo lekciju koristiti Javu 8, ali slobodno upotrijebite gornje verzije (iako će za njihovo korištenje možda biti potrebni neki dotjerivanja, a ne tweetovi).

Za povezivanje s Twitterovim API-jem koristit ćemo Java knjižnicu nazvanu Twitter4J.

Dobivanje Twitter API ključa

Dobivanje ključa API-ja Twitter potrebno je za pristup njegovim podacima jer Twitter na taj način prati podatke i broj zahtjeva koji naša aplikacija upućuje Twitteru.

Stvorimo Twitter aplikaciju i nabavimo ispravne tipke za pomicanje naprijed.

U gornjem obrascu izradite aplikaciju s jedinstvenim nazivom, nazivom web mjesta (upotrijebite rezervirano mjesto ako ga nemate) i opisom projekta. Prihvatite uvjete i odredbe (ako to učinite) i prijeđite na sljedeću stranicu.

Nakon izrade projekta, trebali biste vidjeti stranicu sa sljedećim zaglavljem:

Te će nam vrijednosti trebati kasnije, pa će biti bolje držati ovu karticu otvorenom.

Početak rada s Twitter4J

Twitter4J je neslužbeno Java knjižnica za Twitter API. S Twitter4J možemo lako integrirati našu Java aplikaciju s uslugom Twitter.

Ovisnost Mavena

Za početak ćemo našem Java projektu dodati odgovarajuću Maven Dependency.


org.twitter4j
twitter4j-jezgra
4.0.6

Ovdje pronađite najnoviju verziju ovisnosti o Mavenu.

Ovjera

Sad smo dodali potrebnu ovisnost o Mavenu. Vrijeme je da počnemo razgovarati s API-jem i Twitterom.

Da bismo započeli razgovor, moramo provjeriti autentičnost svojih poziva Twitteru kako bi znao da podacima pristupa samo poznati korisnik. Za ovo, postavimo svoje ključeve koje smo ranije dobili.

statički završni niz CONSUMER_KEY = "vi-ključ";
statički završni niz CONSUMER_SECRET = "tajno";
statički završni niz ACCESS_TOKEN = "žeton";
statički završni niz ACCESS_TOKEN_SECRET = "token-secret";
javni statični Twitter getTwitterInstance ()
ConfigurationBuilder cb = novi ConfigurationBuilder ();
cb.setDebugEnabled (true) bashbash
.setOAuthConsumerKey (CONSUMER_KEY)
.setOAuthConsumerSecret (CONSUMER_SECRET)
.setOAuthAccessToken (ACCESS_TOKEN)
.setOAuthAccessTokenSecret (ACCESS_TOKEN_SECRET);
TwitterFactory tf = novi TwitterFactory (cb.izgraditi());
povratak tf.getInstance ();

Primjer: prikaz vremenske trake

U ovom ćemo primjeru prikazati neke od najnovijih tweetova s ​​vremenske trake ovjerenog korisnika. To ćemo učiniti pomoću Twitterove instance objekta Status kao:

privatna statična praznina showHomeTimeline (Twitter twitter)
Popis statusi = null;
probaj
statusi = twitter.getHomeTimeline ();
Sustav.van.println ("Prikazivanje vremenske trake kuće.");
za (Status statusa: statusi)
Sustav.van.println (status.getUser ().getName () + ":" + status.getText ());
String url = "https: // twitter.com / "+ status.getUser ().getScreenName () + "/ status /"
+ status.getId ();
Sustav.van.println ("Iznad URL-a za tweet:" + url);

catch (TwitterException e)
e.printStackTrace ();

Rezultat bi trebao izgledati poput gomile nasumičnih tweetova:

Slijedeći vezu do tvita često će vas dovesti do samog tvita. Slijedom veze iz prvog tweeta dobili bismo sljedeći rezultat:

Osim korisničkog imena i teksta cvrkuta, Twitter API ima mnogo informacija koje se mogu izvesti iz sljedećih dostupnih metoda:

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

To daje puno informacija vezanih uz Tweet i korisnika koji je objavio tweet. To ne uključuje sve metode, slobodno istražite sve dostupne metode.

Napominjemo da ti atributi mogu biti izuzetno korisni ako vaša aplikacija ovisi o više podataka.

Primjer: objavite Tweet

U ovom ćemo primjeru jednostavno objaviti novi tweet iz našeg koda jer je korisnik već ovjeren. Stavimo ovdje nekoliko primjera koda:

private static void updateTweet (Twitter twitter, String tweet) baca TwitterException
Status statusa = twitter.updateStatus (tweet);
Sustav.van.println ("Uspješno ažuriran status na [" + status.getText () + "].");

Objavljivanje novog tvita jednostavno je kao to.

Primjer: tweetovi određenog korisnika

Vrlo je jednostavno dobiti tweetove drugog korisnika, samo proslijedite korisničko ime i API će korisniku vratiti neke nedavne tweetove.

Pokušajmo povući najnovijih dvadeset tweetova s ​​twitter računa @linuxhint:

Evo primjera koda:

Popis statusi = twitter.getUserTimeline (“linuxhint”);
za (Status statusa: statusi)
Niz fmt = "@" + status.getUser ().getScreenName () + "-" + status.getText ();
Sustav.van.println (fmt);

Kada pokrenete ovaj program, trebali biste vidjeti Tweetove za LinuxHint.

Popularne aplikacije ove vrste podataka mogu uključivati:

  • Provođenje analize na određenim korisnicima i njihovoj interakciji sa svijetom
  • Pronalaženje utjecajnih utjecaja na Twitteru i analiza trendova i interakcija njihovih sljedbenika
  • Praćenje promjena u sljedbenicima korisnika

Primjer: pronalaženje tweetova pomoću ključne riječi

Učinimo posljednji primjer: Dobivanje najnovijih tweetova koji sadrže ključnu riječ. To može biti izuzetno korisno ako želite pratiti posebno spomenute teme u svijetu Twittera ili čak vidjeti kako se vaše poslovanje spominje.

Recimo da želimo vidjeti kako Twitter spominje Linux:

// searchTerm = Linux
private static void searchTweets (Twitter twitter, String searchTerm) baca TwitterException
Upit upita = novi upit ("izvor:" + searchTerm);
Rezultat QueryResult = twitter.pretraga (upit);
za (Status statusa: rezultat.getTweets ())
Sustav.van.println ("@" + status.getUser ().getScreenName () + ":" + status.getText ());

Evo nekoliko praktičnih načina na koje možete koristiti ove podatke:

  • Izradite prostorni grafikon o tome gdje se vaša tvrtka najviše spominje širom svijeta
  • Pokrenite analizu osjećaja na tweetovima da biste vidjeli je li cjelokupno mišljenje vaše tvrtke pozitivno ili negativno
  • Stvorite društvene grafikone najpopularnijih korisnika koji tweetuju o vašoj tvrtki ili proizvodu

Neke od ovih tema možemo pokriti u budućim člancima.

Twitterov API je neizmjerno koristan u aplikacijama za rudarenje podataka i može pružiti širok uvid u javno mnijenje.

Kako razviti igru ​​na Linuxu
Prije deset godina malo je Linux korisnika predviđalo da će njihov omiljeni operativni sustav jednog dana biti popularna platforma za igranje komercij...
Luke komercijalnih igara s otvorenim kodom
Besplatne igre s otvorenim kodom i više platformi mogu se koristiti za igranje starih, kao i nekih prilično nedavnih naslova igara. U ovom će se člank...
Najbolje igre naredbenog retka za Linux
Naredbeni redak nije samo vaš najveći saveznik pri korištenju Linuxa - on također može biti izvor zabave jer ga možete koristiti za igranje mnogih zab...