Miks minu Twitter?
Twitter on ideaalne koht andmete hankimiseks. Siin on mõned põhjused, miks see tõsi on:
- Kõik Twitteri säutsud on avalikud
- Uued andmed tulevad pidevalt reaalajas, see tähendab, et teil pole testimiseks kunagi värskeid andmeid otsas
- Twitteril on arendajatele huvitav API, kust andmeid hankida, nad on ka sõbralikud
- Twitteri pakutavad API-d pakuvad lihtsaid viise, kuidas tõmmata konkreetse kasutajaga või kindlas kohas kindla sõna / räsimärgi või säutsudega seotud säutse
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.
- Looge siin rakendus
Ü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:
- Allolevas teabes klõpsake järgmise teabe saamiseks vahekaarti "Võtmed ja juurdepääsuload":
- Allpool oleva teabe saamiseks kerige allapoole ja klõpsake nuppu „Loo juurdepääsumärgid”:
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.
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
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 TwitterExceptionOleku 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:
Nimekirifor (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 = Linuxprivaatne 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.