Kāpēc mans Twitter?
Twitter ir lieliska vieta, no kuras iegūt datus. Šeit ir daži iemesli, kāpēc tā ir taisnība:
- Visi tvitera tvīti ir publiski
- Jaunie dati turpina nākt reāllaikā, tas nozīmē, ka jums nekad netrūkst svaigu datu, lai tos pārbaudītu
- Twitter ir interesants API izstrādātājiem, no kuriem iegūt datus, un tie ir arī draudzīgi
- Twitter nodrošinātās API nodrošina vienkāršus veidus, kā piesaistīt tvītus, kas saistīti ar konkrētu lietotāju vai noteiktu vārdu / atsauci vai tvītus noteiktā vietā
Darba sākšana
Tagad, kad esam pamatojuši, kāpēc mēs izmantojam šo platformu, sāksim apkopot savus rīkus. Šajā nodarbībā mēs izmantosim Java 8, taču jūtieties brīvi izmantot iepriekš minētās versijas (lai gan to izmantošanai var būt nepieciešami daži tweaks, nevis tweets).
Lai izveidotu savienojumu ar Twitter API, mēs izmantosim Java bibliotēku ar nosaukumu Twitter4J.
Tiek iegūta Twitter API atslēga
Lai piekļūtu tās datiem, ir nepieciešama Twitter API atslēga, jo šādi Twitter seko datiem un pieprasījumu skaitīšanai, ko mūsu lietojumprogramma veic Twitter.
Izveidosim Twitter lietotni un saņemsim pareizos taustiņus, lai virzītos uz priekšu.
- Izveidojiet lietotni šeit
Iepriekš izveidotajā veidlapā izveidojiet lietojumprogrammu ar unikālu nosaukumu, vietnes nosaukumu (izmantojiet viettura vietni, ja tādas nav) un projekta aprakstu. Pieņemiet noteikumus un nosacījumus (ja to darāt) un pārejiet uz nākamo lapu.
Kad projekts ir izveidots, jums vajadzētu redzēt lapu ar šādu galveni:
- Zemāk esošajā informācijā noklikšķiniet uz cilnes Atslēgas un piekļuves žetoni, lai iegūtu šādu informāciju:
- Ritiniet uz leju un noklikšķiniet uz “Ģenerēt piekļuves žetonus”, lai iegūtu zemāk esošo informāciju:
Šīs vērtības mums būs nepieciešamas vēlāk, tāpēc labāk būs saglabāt šo cilni atvērtu.
Darba sākšana ar Twitter4J
Twitter4J ir neoficiāls Java bibliotēka Twitter API. Izmantojot Twitter4J, mēs varam viegli integrēt savu Java lietojumprogrammu Twitter pakalpojumā.
Mavenas atkarība
Lai sāktu, mēs Java projektam pievienosim atbilstošu Maven Dependency.
Šeit atrodiet jaunāko atkarīgo versiju.
Autentifikācija
Mēs tagad esam pievienojuši nepieciešamo Mavenas atkarību. Ir pienācis laiks sākt runāt ar API un Twitter.
Lai sāktu sarunu, mums ir jāidentificē zvani uz čivināt, lai tas zinātu, ka datiem piekļūst tikai zināms lietotājs. Lai to izdarītu, iestatīsim iepriekš iegūtās atslēgas.
static final String CONSUMER_KEY = "jūs-atslēga";statiskā galīgā virkne CONSUMER_SECRET = "noslēpums";
statiskā galīgā virkne ACCESS_TOKEN = "žetons";
statiskā galīgā virkne ACCESS_TOKEN_SECRET = "token-secret";
publiskais statiskais čivināt getTwitterInstance ()
ConfigurationBuilder cb = jauns ConfigurationBuilder ();
cb.setDebugEnabled (true) bashbash
.setOAuthConsumerKey (CONSUMER_KEY)
.setOAuthConsumerSecret (CONSUMER_SECRET)
.setOAuthAccessToken (ACCESS_TOKEN)
.setOAuthAccessTokenSecret (ACCESS_TOKEN_SECRET);
TwitterFactory tf = jauns TwitterFactory (cb.būvēt());
atgriešanās tf.getInstance ();
Piemērs: tiek rādīta laika skala
Šajā piemērā mēs parādīsim dažus jaunākos tvītus no autentificēta lietotāja laika skalas. Mēs to izdarīsim, izmantojot čivināt objekta statusa instanci kā:
private static void showHomeTimeline (Twitter twitter)Saraksts
izmēģināt
statusi = twitter.getHomeTimeline ();
Sistēma.ārā.println ("Tiek rādīta mājas laika skala.");
par (Statusa statuss: statusi)
Sistēma.ārā.println (statuss.getUser ().getName () + ":" + statuss.getText ());
Virknes URL = "https: // twitter.com / "+ statuss.getUser ().getScreenName () + "/ status /"
+ statuss.getId ();
Sistēma.ārā.println ("Virs čivināt URL:" + url);
nozveja (TwitterException e)
e.printStackTrace ();
Rezultātam vajadzētu izskatīties kā virkne nejaušu tvītu:
Sekojot saitei uz tvītu, jūs bieži nonāksiet pie paša tvīta. Sekojot saitei no pirmā tvīta, mēs iegūsim šādu rezultātu:
Izņemot lietotājvārdu un čivināt tekstu, Twitter API ir jāsniedz daudz informācijas, ko var secināt, izmantojot šādas pieejamās metodes:
statuss.getSource ();statuss.getCreatedAt ();
statuss.getFavoriteCount ();
statuss.getGeoLocation ();
statuss.getLang ();
statuss.getPlace ();
statuss.getRetweetCount ();
statuss.getUser ().getBiggerProfileImageURL ();
statuss.getUser ().getEmail ();
statuss.getUser ().getFollowersCount ();
statuss.getUser ().getFriendsCount ();
Tas dod daudz informācijas, kas saistīta ar tvītu un lietotāju, kurš ievietoja tvītu. Tajās ietilpst ne visas metodes, nekautrējieties izpētīt visas pieejamās metodes.
Ņemiet vērā, ka šie atribūti var būt ļoti noderīgi, ja jūsu lietojumprogramma ir atkarīga no vairāk datu.
Piemērs: izlieciet čivināt
Šajā piemērā mēs vienkārši ievietosim jaunu čivināt no mūsu koda, jo lietotājs jau ir autentificēts. Šeit ievietosim dažus koda paraugus:
private static void updateTweet (Twitter twitter, String tweet) iemet TwitterExceptionStatusa statuss = twitter.updateStatus (čivināt);
Sistēma.ārā.println ("Veiksmīgi atjaunināja statusu uz [" + statuss.getText () + "].");
Jauna čivināt ir tik vienkārši.
Piemērs: Konkrēta lietotāja tweets
Ir ļoti viegli iegūt citu lietotāju tvītus, vienkārši ievadiet lietotājvārdu, un API atgriezīs lietotājam dažus nesenos tvītus.
Mēģināsim izvilkt pēdējos divdesmit tvītus no twitter konta @linuxhint:
Šeit ir koda paraugs:
Sarakstspar (Statusa statuss: statusi)
Virkne fmt = "@" + statuss.getUser ().getScreenName () + statuss "-" +.getText ();
Sistēma.ārā.println (fmt);
Palaidot šo programmu, jums vajadzētu redzēt Tweets for LinuxHint.
Populāras šāda veida datu lietojumprogrammas var būt:
- Analīzes veikšana konkrētiem lietotājiem un to mijiedarbība ar pasauli
- Twitter ietekmētāju atrašana un viņu sekotāju tendenču un mijiedarbības analīze
- Pārraudzīt lietotāja sekotāju izmaiņas
Piemērs: Tvītu atrašana, izmantojot atslēgvārdu
Darīsim pēdējo piemēru: iegūstam jaunākos tvītus, kas satur atslēgvārdu. Tas var būt ļoti noderīgi, ja vēlaties pārraudzīt īpaši minētās tēmas Twitter pasaulē vai pat redzēt, kā tiek pieminēts jūsu bizness.
Pieņemsim, ka mēs vēlamies redzēt, kā Twitter piemin Linux:
// searchTerm = Linuxprivāta statiska tukšuma meklēšanaTweets (Twitter twitter, String searchTerm) izmet TwitterException
Vaicājuma vaicājums = jauns vaicājums ("avots:" + searchTerm);
QueryResult rezultāts = twitter.meklēšana (vaicājums);
par (Statusa statuss: rezultāts.getTweets ())
Sistēma.ārā.println ("@" + statuss.getUser ().getScreenName () + ":" + statuss.getText ());
Šeit ir daži praktiski veidi, kā varat izmantot šo informāciju:
- Izveidojiet telpisko diagrammu par to, kur jūsu uzņēmums tiek pieminēts visvairāk visā pasaulē
- Veiciet noskaņojumu analīzi tvītos, lai noskaidrotu, vai jūsu uzņēmuma kopējais viedoklis ir pozitīvs vai negatīvs
- Izveidojiet sociālo diagrammu no populārākajiem lietotājiem, kuri čivina par jūsu uzņēmumu vai produktu
Dažas no šīm tēmām mēs varam aplūkot nākamajos rakstos.
Twitter API ir ārkārtīgi noderīga datu ieguves lietojumprogrammās, un tā var sniegt plašu ieskatu sabiedrības domās.