Miért az én Twitterem?
A Twitter tökéletes hely az adatok lekérésére. Íme néhány ok, amiért ez igaz:
- A Twitteren található összes tweet nyilvános
- Az új adatok folyamatosan valós időben érkeznek, ez azt jelenti, hogy soha nem fogy el a friss adatok teszteléséhez
- A Twitter érdekes API-val rendelkezik a fejlesztők számára, ahonnan adatokat gyűjthetnek, barátságosak is
- A Twitter által biztosított API-k egyszerű módszereket kínálnak egy adott felhasználóhoz, vagy egy adott szóhoz / hashtaghez vagy tweethez kapcsolódó tweetek lekérésére egy adott helyen
Elkezdeni
Most, hogy igazoltuk, miért használjuk ezt a platformot, kezdjük el gyűjteni az eszközeinket. Ehhez a leckéhez a Java 8-at fogjuk használni, de nyugodtan használja a fenti verziókat (bár ezek használatához szükség lehet néhány csípésre, nem pedig tweetelésre).
A Twitter4J nevű Java könyvtárat fogjuk használni a Twitter API-hoz való csatlakozáshoz.
Twitter API kulcs megszerzése
Az adatokhoz való hozzáféréshez a Twitter API kulcs beszerzése szükséges, mivel a Twitter így követi nyomon az adatokat és az alkalmazásunk által a Twitteren végrehajtott kérések számát.
Hozzunk létre egy Twitter alkalmazást, és szerezzük be a megfelelő kulcsokat a továbblépéshez.
- Itt hozhat létre alkalmazást
A fenti űrlapban hozzon létre egy alkalmazást egyedi névvel, webhelynévvel (használjon helyőrző webhelyet, ha még nincs), és egy projektleírást. Fogadja el az Általános Szerződési Feltételeket (ha mégis megteszi), és folytassa a következő oldalon.
A projekt létrehozása után látnia kell egy oldalt a következő fejléccel:
- Az alábbi információkban kattintson a "Kulcsok és hozzáférési tokenek" fülre a következő információk megszerzéséhez:
- Görgessen lefelé, és kattintson az „Hozzáférési tokenek létrehozása” elemre az alábbi információk eléréséhez:
Később szükségünk lesz ezekre az értékekre, így jobb lesz ezt a lapot nyitva tartani.
A Twitter4J használatának megkezdése
A Twitter4J egy nem hivatalos Java könyvtár a Twitter API-hoz. A Twitter4J segítségével egyszerűen integrálhatjuk Java alkalmazásunkat a Twitter szolgáltatással.
Maven-függőség
Először hozzáadjuk a megfelelő Maven Dependency-t Java-projektünkhöz.
A legfrissebb maven függőségi verziót itt találja.
Hitelesítés
Most hozzáadtuk a szükséges Maven-függőséget. Itt az ideje, hogy elkezdjünk beszélgetni az API-val és a Twitter-szel.
A beszélgetés megkezdéséhez hitelesítenünk kell a Twitterre irányuló hívásainkat, hogy tudják, hogy csak egy ismert felhasználó fér hozzá az adatokhoz. Ehhez állítsuk be a korábban megszerzett kulcsokat.
statikus végső karakterlánc CONSUMER_KEY = "te-kulcs";statikus végső karakterlánc CONSUMER_SECRET = "titkos";
statikus végső karakterlánc ACCESS_TOKEN = "token";
statikus végső karakterlánc ACCESS_TOKEN_SECRET = "token-secret";
nyilvános statikus 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 = új TwitterFactory (cb.épít());
return tf.getInstance ();
Példa: Az idővonal megjelenítése
Ebben a példában néhány legújabb tweetet mutatunk be a hitelesített felhasználó idővonaláról. Ezt a Twitter objektum állapota példányának használatával fogjuk megtenni:
privát statikus void showHomeTimeline (Twitter twitter)Lista
próbáld ki
állapotok = twitter.getHomeTimeline ();
Rendszer.ki.println ("Az otthoni idővonal megjelenítése.");
for (Állapot állapota: állapotok)
Rendszer.ki.println (állapot.getUser ().getName () + ":" + állapot.getText ());
Karakterlánc URL = "https: // twitter.com / "+ állapot.getUser ().getScreenName () + "/ status /"
+ állapot.getId ();
Rendszer.ki.println ("tweet URL felett:" + url);
catch (TwitterException e)
e.printStackTrace ();
Az eredménynek egy csomó véletlenszerű tweetnek kell kinéznie:
A tweetre mutató link követése gyakran magához a tweethez vezet. Az első tweet linkjét követve a következő eredményt kapjuk:
A felhasználónéven és a tweet szövegén kívül a Twitter API sok információt megad, amelyet a következő rendelkezésre álló módszerekből lehet következtetni:
állapot.getSource ();állapot.getCreatedAt ();
állapot.getFavoriteCount ();
állapot.getGeoLocation ();
állapot.getLang ();
állapot.getPlace ();
állapot.getRetweetCount ();
állapot.getUser ().getBiggerProfileImageURL ();
állapot.getUser ().getEmail ();
állapot.getUser ().getFollowersCount ();
állapot.getUser ().getFriendsCount ();
Ez rengeteg információt ad a tweetről és a tweetet közzétevő felhasználóról. Ezek nem minden módszert tartalmaznak, bátran fedezze fel az összes rendelkezésre álló módszert.
Ne feledje, hogy ezek az attribútumok rendkívül hasznosak lehetnek, ha az alkalmazás több adattól függ.
Példa: Tegyen közzé egy tweetet
Ebben a példában egyszerűen új tweetet küldünk a kódunkból, mivel a felhasználó már hitelesítve van. Tegyünk ide egy mintakódot:
privát statikus void updateTweet (Twitter twitter, String tweet) dobja a TwitterExceptionÁllapot állapota = twitter.updateStatus (tweet);
Rendszer.ki.println ("Sikeresen frissítette az állapotot [" + állapotra.getText () + "].");
Új tweet közzététele ilyen egyszerű.
Példa: Egy adott felhasználó tweetei
Nagyon könnyű újabb felhasználó tweeteit kapni, csak adjon meg egy felhasználónevet, és az API néhány friss tweetet küld a felhasználónak.
Próbáljuk meg letölteni a legfrissebb húsz tweetet a @linuxhint twitter fiókból:
Itt van a minta kód:
Listafor (Állapot állapota: állapotok)
Karakterlánc fmt = "@" + állapot.getUser ().getScreenName () + "-" + állapot.getText ();
Rendszer.ki.println (fmt);
A program futtatásakor látnia kell a Tweets for LinuxHint alkalmazást.
Az ilyen típusú adatok népszerű alkalmazásai a következők lehetnek:
- Elemzés futtatása konkrét felhasználókra, és azok interakciójára a világgal
- A Twitter-befolyásolók megkeresése és követő trendjeik és interakcióik elemzése
- A felhasználó követői változásainak figyelemmel kísérése
Példa: Tweetek keresése kulcsszó használatával
Tegyünk egy utolsó példát: A legújabb kulcsszavakat tartalmazó tweetek beszerzése. Ez rendkívül hasznos lehet, ha figyelemmel akarja kísérni a Twitter világában kifejezetten említett témákat, vagy akár látni szeretné, hogyan említik vállalkozását.
Tegyük fel, hogy szeretnénk látni, hogy a Twitter miként emlegeti a Linuxot:
// searchTerm = Linuxprivát statikus void searchTweets (Twitter twitter, String searchTerm) dobja a TwitterException
Lekérdezés = új lekérdezés ("forrás:" + searchTerm);
QueryResult eredmény = twitter.keresés (lekérdezés);
for (Állapot állapota: eredmény.getTweets ())
Rendszer.ki.println ("@" + állapot.getUser ().getScreenName () + ":" + állapot.getText ());
Íme néhány praktikus módszer az információk felhasználására:
- Hozzon létre egy térbeli grafikont arról, hogy hol említik vállalatát a világon a legjobban
- Futtassa a hangulatelemzést a tweeteken, hogy lássa, pozitív-e vagy negatív-e a vállalat általános véleménye
- Hozzon létre közösségi grafikonokat a legnépszerűbb felhasználókról, akik tweetelnek a vállalatáról vagy termékéről
Ezekről a témákról a későbbi cikkekben foglalkozhatunk.
A Twitter API-ja rendkívül hasznos az adatbányászati alkalmazásokban, és hatalmas betekintést nyújthat a közvéleménybe.