Java

Vadnica za Twitter4J

Vadnica za Twitter4J
V tej lekciji bomo uporabili knjižnico Twitter4J za pridobivanje podatkov s Twitterja. Twitter se vsak dan ukvarja z Big Data, a kaj je pravzaprav? Preden se bomo potopili v rudarske podatke s Twitterja, bomo imeli zelo kratek pregled o velikih podatkih.

Zakaj rudariti Twitter?

Twitter je idealen kraj za pridobivanje podatkov. Nekaj ​​razlogov, zakaj je to res:

Kako začeti

Zdaj, ko smo utemeljili, zakaj uporabljamo to platformo, začnimo zbirati naša orodja. Za to lekcijo bomo uporabili Javo 8, vendar lahko uporabite zgoraj navedene različice (čeprav bodo za njihovo uporabo morda potrebni nekateri popravki, ne tviti).

Za povezavo s Twitter-jevim API-jem bomo uporabljali knjižnico Java, imenovano Twitter4J.

Pridobivanje ključa API za Twitter

Pridobivanje ključa API-ja Twitterja je potrebno za dostop do njegovih podatkov, saj Twitter tako spremlja podatke in šteje zahteve, ki jih naša aplikacija pošlje Twitterju.

Ustvarimo aplikacijo Twitter in dobimo pravilne tipke za naprej.

V zgornji obliki ustvarite aplikacijo z edinstvenim imenom, imenom spletnega mesta (uporabite spletno mesto z nadomestnimi znaki, če ga še nimate) in opisom projekta. Sprejmite določila in pogoje (če jih sprejmete) in nadaljujte na naslednjo stran.

Ko je projekt ustvarjen, se prikaže stran z naslednjo glavo:

Te vrednosti bomo potrebovali pozneje, zato je bolje, da ta zavihek ostane odprt.

Uvod v Twitter4J

Twitter4J je neuradno Java knjižnica za Twitter API. S Twitter4J lahko enostavno vključimo našo aplikacijo Java s storitvijo Twitter.

Odvisnost Mavena

Za začetek bomo našemu projektu Java dodali ustrezno Maven Dependency.


org.twitter4j
twitter4j-jedro
4.0.6

Najdite najnovejšo različico odvisnosti maven tukaj.

Preverjanje pristnosti

Zdaj smo dodali zahtevano odvisnost od Mavena. Čas je, da začnemo govoriti z API-jem in Twitterjem.

Za začetek pogovora moramo preveriti pristnost naših klicev na Twitter, tako da bo vedel, da do podatkov dostopa samo znani uporabnik. Za to nastavimo svoje ključe, ki smo jih dobili prej.

statični končni niz CONSUMER_KEY = "vi-ključ";
statični končni niz CONSUMER_SECRET = "skrivnost";
statični končni niz ACCESS_TOKEN = "žeton";
statični končni niz ACCESS_TOKEN_SECRET = "žeton-skrivnost";
javni statični Twitter getTwitterInstance ()
ConfigurationBuilder cb = novo ConfigurationBuilder ();
cb.setDebugEnabled (true) bashbash
.setOAuthConsumerKey (CONSUMER_KEY)
.setOAuthConsumerSecret (CONSUMER_SECRET)
.setOAuthAccessToken (ACCESS_TOKEN)
.setOAuthAccessTokenSecret (ACCESS_TOKEN_SECRET);
TwitterFactory tf = nov TwitterFactory (cb.build ());
vrnitev tf.getInstance ();

Primer: prikaz časovnice

V tem primeru bomo prikazali nekaj najnovejših tweetov s časovne osi preverjenega uporabnika. To bomo storili z uporabo primerka stanja Twitterjevega predmeta kot:

zasebna statična praznina showHomeTimeline (Twitter twitter)
Seznam statusi = null;
poskusite
statusi = twitter.getHomeTimeline ();
Sistem.ven.println ("Prikaz domače časovnice.");
za (Status stanja: statusi)
Sistem.ven.println (status.getUser ().getName () + ":" + status.getText ());
URL niza = "https: // twitter.com / "+ status.getUser ().getScreenName () + "/ status /"
+ stanje.getId ();
Sistem.ven.println ("Nad tweet URL:" + url);

ulov (TwitterException e)
e.printStackTrace ();

Rezultat bi moral izgledati kot kup naključnih tweetov:

Če vas bo povezava do tvita pogosto pripeljala do samega tvita. Po povezavi iz prvega tvita bi dobili naslednji rezultat:

Poleg uporabniškega imena in besedila tweetov ima Twitter API še veliko informacij, ki jih lahko razberemo iz naslednjih razpoložljivih metod:

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

To daje veliko informacij, povezanih s tvitom in uporabnikom, ki je objavil tweet. Sem ne sodijo vse metode, zato lahko raziščete vse razpoložljive metode.

Ti atributi so lahko zelo koristni, če je vaša aplikacija odvisna od več podatkov.

Primer: objavite tweet

V tem primeru bomo preprosto objavili nov tvit iz naše kode, saj je uporabnik že preveril pristnost. Tukaj položimo nekaj vzorčne kode:

private static void updateTweet (Twitter twitter, String tweet) vrže TwitterException
Status stanja = twitter.updateStatus (tweet);
Sistem.ven.println ("Uspešno posodobljeno stanje na [" + status.getText () + "].");

Objava novega tvita je tako preprosta.

Primer: tviti določenega uporabnika

Zelo enostavno je dobiti še en uporabniški tvit, samo prosite uporabniško ime in API bo vrnil nekaj nedavnih tweetov za uporabnika.

Poskusimo potegniti najnovejših dvajset tweetov iz twitter računa @linuxhint:

Tu je vzorčna koda:

Seznam statusi = twitter.getUserTimeline (“linuxhint”);
za (Status stanja: statusi)
Niz fmt = "@" + stanje.getUser ().getScreenName () + "-" + status.getText ();
Sistem.ven.println (fmt);

Ko zaženete ta program, bi morali videti Tweets for LinuxHint.

Priljubljene aplikacije te vrste podatkov lahko vključujejo:

  • Izvajanje analize o določenih uporabnikih in o tem, kako vplivajo na svet
  • Iskanje vplivnih vplivov na Twitterju in analiza njihovih sledilnih trendov in interakcij
  • Spremljanje sprememb pri sledilcih uporabnika

Primer: Iskanje tweetov z uporabo ključne besede

Naredimo še zadnji primer: Pridobivanje najnovejših tweetov, ki vsebujejo ključno besedo. To je lahko zelo koristno, če želite spremljati posebej omenjene teme v svetu Twitterja ali celo videti, kako se vaše podjetje omenja.

Recimo, da želimo videti, kako Twitter omenja Linux:

// searchTerm = Linux
private static void searchTweets (Twitter twitter, String searchTerm) vrže TwitterException
Poizvedba poizvedba = nova poizvedba ("vir:" + searchTerm);
Rezultat QueryResult = twitter.iskanje (poizvedba);
za (Status stanja: rezultat.getTweets ())
Sistem.ven.println ("@" + status.getUser ().getScreenName () + ":" + status.getText ());

Tu je nekaj praktičnih načinov, kako lahko uporabite te informacije:

  • Ustvarite prostorski graf o tem, kje je vaše podjetje najbolj omenjeno po vsem svetu
  • Zaženite analizo sentimenta na tvitih, da preverite, ali je splošno mnenje vašega podjetja pozitivno ali negativno
  • Ustvarite družabne grafikone najbolj priljubljenih uporabnikov, ki pišejo o vašem podjetju ali izdelku

Nekatere od teh tem lahko pokrivamo v prihodnjih člankih.

Twitter-jev API je izjemno uporaben v aplikacijah za rudarjenje podatkov in lahko nudi obsežen vpogled v javno mnenje.

Top 5 kartic za zajemanje iger
Vsi smo v YouTubu videli in oboževali pretakanje iger. PewDiePie, Jakesepticye in Markiplier so le nekateri izmed najboljših igralcev, ki so zaslužili...
Kako razviti igro na Linuxu
Pred desetletjem le malo uporabnikov Linuxa napoveduje, da bo njihov najljubši operacijski sistem nekoč priljubljena igralna platforma za komercialne ...
Odprtokodna vrata komercialnih igralnih sistemov
Brezplačne, odprtokodne in medplatformacijske igre, ki jih lahko uporabite za igranje starih, pa tudi nekaterih dokaj nedavnih naslovov iger. V tem čl...