Java

Twitter4Ji õpetus

Twitter4Ji õpetus
Selles õppetükis kasutame Twitteri andmete kaevandamiseks Twitter4J teeki. Twitter tegeleb Big Data iga päev, kuid mis see tegelikult on? Enne Twitteri kaevandamisandmetesse sukeldumist on meil suurandmete kohta väga lühike ülevaade.

Miks minu Twitter?

Twitter on ideaalne koht andmete hankimiseks. Siin on mõned põhjused, miks see tõsi on:

Alustamine

Nüüd, kui oleme põhjendanud, miks me seda platvormi kasutame, alustame oma tööriistade kogumist. Selle õppetunni jaoks kasutame Java 8-d, kuid kasutage julgelt ülaltoodud versioone (kuigi nende kasutamiseks võib vaja minna mõnda tweaksit, mitte säutsu).

Twitteri API-ga ühenduse loomiseks kasutame Java-teeki nimega Twitter4J.

Twitteri API võtme hankimine

Twitteri API võtme hankimine on vajalik tema andmetele juurdepääsuks, sest nii hoiab Twitter andmeid ja taotluste arvu, mida meie rakendus Twitterile teeb.

Loome Twitteri rakenduse ja hankime edasiliikumiseks õiged klahvid.

Ülaloleval kujul looge kordumatu nime, veebisaidi nimega rakendus (kasutage kohahoidja veebisaiti, kui teil seda pole) ja projekti kirjeldus. Nõustuge tingimustega (kui te seda teete) ja jätkake järgmisele lehele.

Kui projekt on loodud, peaksite nägema järgmise päisega lehte:

Vajame neid väärtusi hiljem, nii et parem oleks see vaheleht avatud hoida.

Twitter4J-ga alustamine

Twitter4J on mitteametlik Java-teek Twitteri API jaoks. Twitter4J abil saame hõlpsasti integreerida oma Java-rakenduse Twitteri teenusega.

Maven Sõltuvus

Alustuseks lisame oma Java-projekti sobiva Maveni sõltuvuse.


org.twitter4j
twitter4j-core
4.0.6

Siit leiate uusima maven-sõltuvuse versiooni.

Autentimine

Oleme nüüd lisanud vajaliku Maveni sõltuvuse. On aeg, et hakkaksime rääkima API ja Twitteriga.

Vestluse alustamiseks peame autentima oma kõned Twitterisse, et see teaks, et andmetele pääseb juurde ainult teadaolev kasutaja. Selleks seadistame oma varem hankitud võtmed.

staatiline lõplik string String CONSUMER_KEY = "sina-võti";
staatiline lõplik string CONSUMER_SECRET = "saladus";
staatiline lõplik string ACCESS_TOKEN = "märk";
staatiline lõplik string ACCESS_TOKEN_SECRET = "märgisaladus";
avalik staatiline Twitter getTwitterInstance ()
ConfigurationBuilder cb = new ConfigurationBuilder ();
cb.setDebugEnabled (true) bashbash
.setOAuthConsumerKey (CONSUMER_KEY)
.setOAuthConsumerSecret (CONSUMER_SECRET)
.setOAuthAccessToken (ACCESS_TOKEN)
.setOAuthAccessTokenSecret (ACCESS_TOKEN_SECRET);
TwitterFactory tf = uus TwitterFactory (cb.ehitada ());
tagasi tf.getInstance ();

Näide: ajaskaala kuvamine

Selles näites näitame mõningaid viimaseid säutse autentitud kasutaja ajaskaalalt. Teeme seda, kasutades Twitteri objekti oleku eksemplari järgmiselt:

privaatne staatiline void showHomeTimeline (Twitter twitter)
Nimekiri olekud = null;
proovige
olekud = twitter.getHomeTimeline ();
Süsteem.välja.println ("Kuvatakse kodu ajaskaala.");
for (Oleku olek: olekud)
Süsteem.välja.println (olek.getUser ().getName () + ":" + olek.getText ());
Stringi URL = "https: // twitter.com / "+ olek.getUser ().getScreenName () + "/ status /"
+ staatus.getId ();
Süsteem.välja.println ("säutsu URL-i kohal:" + url);

saak (TwitterException e)
e.printStackTrace ();

Tulemus peaks välja nägema hulga juhuslikke säutse:

Twitteri lingi järgimine viib teid sageli säutsu enda juurde. Esimese säutsu lingi järgimine annab meile järgmise tulemuse:

Lisaks kasutajanimele ja säutsu tekstile on Twitteri API-l palju teavet, mida võib järeldada järgmiste saadaolevate meetodite põhjal:

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

See annab palju teavet, mis on seotud säutsu ja kasutajaga, kes säutsu postitas. Need ei hõlma kõiki meetodeid, uurige julgelt kõiki saadaolevaid meetodeid.

Pange tähele, et need atribuudid võivad olla äärmiselt kasulikud, kui teie rakendus sõltub rohkematest andmetest.

Näide: postitage säuts

Selles näites postitame oma koodilt lihtsalt uue säutsu, kuna kasutaja on juba autentitud. Paneme siia näidiskoodi:

privaatne staatiline void updateTweet (Twitter twitter, String tweet) viskab TwitterException
Oleku olek = twitter.updateStatus (säuts);
Süsteem.välja.println ("Oleku uuendamine edukalt olekuks [" + olek.getText () + "].");

Uue säutsu postitamine on sama lihtne.

Näide: konkreetse kasutaja tweetid

Teise kasutaja tweetide hankimine on väga lihtne, lihtsalt sisestage kasutajanimi ja API tagastab kasutaja jaoks mõned hiljutised säutsud.

Proovime tõmmata viimased kakskümmend säutsu twitteri kontolt @linuxhint:

Siin on näidiskood:

Nimekiri olekud = twitter.getUserTimeline ("linuxhint");
for (Oleku olek: olekud)
String fmt = "@" + olek.getUser ().getScreenName () + "-" + olek.getText ();
Süsteem.välja.println (fmt);

Selle programmi käivitamisel peaksite nägema Tweets for LinuxHint.

Seda tüüpi andmete populaarsed rakendused võivad olla järgmised:

  • Analüüsi käivitamine konkreetsete kasutajate kohta ja nende suhtlemine maailmaga
  • Twitteri mõjutajate leidmine ning nende jälgijate suundumuste ja suhtluse analüüsimine
  • Kasutaja jälgijate muutuste jälgimine

Näide: säutsude leidmine märksõna abil

Teeme ühe viimase näite: märksõna sisaldavate viimaste säutsude hankimine. See võib olla äärmiselt kasulik, kui soovite jälgida Twitteri maailmas spetsiaalselt mainitud teemasid või isegi näha, kuidas teie ettevõtet mainitakse.

Oletame, et tahame näha, kuidas Twitter on Linuxit maininud:

// searchTerm = Linux
privaatne staatiline tühine otsingTweets (Twitter twitter, String searchTerm) viskab TwitterException
Päringu päring = uus päring ("source:" + searchTerm);
QueryResult tulemus = twitter.otsing (päring);
for (Oleku olek: tulemus.getTweets ())
Süsteem.välja.println ("@" + olek.getUser ().getScreenName () + ":" + olek.getText ());

Siin on mõned praktilised viisid, kuidas seda teavet kasutada:

  • Looge ruumiline graafik selle kohta, kus teie ettevõtet üle maailma kõige rohkem mainitakse
  • Käivitage säutsude analüüs säutsude põhjal, et näha, kas teie ettevõtte üldine arvamus on positiivne või negatiivne
  • Looge sotsiaalgraafikud kõige populaarsematest kasutajatest, kes teie ettevõtte või toote kohta piiksuvad

Mõni neist teemadest saame kajastada tulevastes artiklites.

Twitteri API on tohutult kasulik andmekaevanduse rakendustes ja võib anda ulatusliku ülevaate avaliku arvamuse kohta.

Lahing Wesnothi õpetuse eest
Battle for Wesnoth on üks populaarsemaid avatud lähtekoodiga strateegiamänge, mida saate praegu mängida. See mäng pole mitte ainult olnud väga pikka a...
0 A.D. Õpetus
Paljudest strateegiamängudest on 0 A.D. suudab silma paista põhjaliku tiitli ja väga sügava taktikalise mänguna, hoolimata sellest, et see on avatud l...
Unity3D õpetus
Sissejuhatus Unity 3D-sse Unity 3D on võimas mängude arendamise mootor. See on platvormidevaheline, mis võimaldab teil luua mänge mobiilseadmetele, ve...