Java

Twitter4J Handledning

Twitter4J Handledning
I den här lektionen använder vi Twitter4J-biblioteket för att bryta data från Twitter. Twitter behandlar Big Data varje dag, men vad är det egentligen?? Vi har en mycket kort översikt över Big Data innan vi dyker in i gruvdata från Twitter.

Varför min Twitter?

Twitter är ett perfekt ställe att hämta data från. Här är några anledningar till varför detta är sant:

Komma igång

Nu när vi har motiverat varför vi använder den här plattformen, låt oss börja samla in våra verktyg. Vi använder Java 8 för den här lektionen men använd gärna ovanstående versioner (även om vissa tweaks, inte tweets, kan behövas för att använda dem).

Vi kommer att använda ett Java-bibliotek som heter Twitter4J för att ansluta till Twitters API.

Skaffar Twitter API-nyckel

Att få Twitter API-nyckel är nödvändig för att få åtkomst till dess data eftersom det är så här Twitter håller reda på data och den begäran som räknas som vår applikation gör till Twitter.

Låt oss skapa en Twitter-app och få rätt tangenter för att gå vidare.

I ovanstående form, skapa en applikation med ett unikt namn, ett webbplatsnamn (använd en platshållarwebbplats om du inte har en) och en projektbeskrivning. Acceptera villkoren (om du gör det) och fortsätt till nästa sida.

När projektet har skapats ska du se en sida med följande rubrik:

Vi kommer att behöva dessa värden senare så det är bättre att hålla den här fliken öppen.

Komma igång med Twitter4J

Twitter4J är en inofficiell Java-bibliotek för Twitter API. Med Twitter4J kan vi enkelt integrera vår Java-applikation med Twitter-tjänsten.

Maven-beroende

Till att börja med lägger vi till lämplig Maven-beroende i vårt Java-projekt.


org.twitter4j
twitter4j-core
4.0.6

Hitta den senaste versionen av beroendeberoende här.

Autentisering

Vi har lagt till nödvändigt Maven-beroende nu. Det är dags att vi börjar prata med API och Twitter.

För att starta konversationen måste vi autentisera våra samtal till Twitter så att den vet att endast en känd användare har åtkomst till data. För detta, låt oss ställa in våra nycklar som vi fick tidigare.

statisk slutsträng CONSUMER_KEY = "du-nyckel";
statisk slutsträng CONSUMER_SECRET = "hemlig";
statisk slutlig sträng ACCESS_TOKEN = "token";
statisk slutsträng ACCESS_TOKEN_SECRET = "token-secret";
offentlig statisk Twitter getTwitterInstance ()
ConfigurationBuilder cb = ny ConfigurationBuilder ();
cb.setDebugEnabled (true) bashbash
.setOAuthConsumerKey (CONSUMER_KEY)
.setOAuthConsumerSecret (CONSUMER_SECRET)
.setOAuthAccessToken (ACCESS_TOKEN)
.setOAuthAccessTokenSecret (ACCESS_TOKEN_SECRET);
TwitterFactory tf = ny TwitterFactory (cb.bygga());
returnera tf.getInstance ();

Exempel: Visar tidslinje

I det här exemplet visar vi några senaste tweets från autentiserad användares tidslinje. Vi gör detta genom att använda Twitters objektstatusinstans som:

privat statisk ogiltig showHomeTimeline (Twitter twitter)
Lista status = null;
Prova
status = twitter.getHomeTimeline ();
Systemet.ut.println ("Visar tidslinje för hem.");
för (Statusstatus: statuser)
Systemet.ut.println (status.getUser ().getName () + ":" + status.getText ());
String url = "https: // twitter.com / "+ status.getUser ().getScreenName () + "/ status /"
+ status.getId ();
Systemet.ut.println ("Ovan tweet URL:" + url);

fånga (TwitterException e)
e.printStackTrace ();

Resultatet ska se ut som en massa slumpmässiga tweets:

Genom att följa länken till tweeten kommer du ofta till själva tweeten. Att följa länken från den första tweet skulle ge oss följande resultat:

Förutom användarnamnet och tweettexten har Twitter API mycket information att ge som kan härledas från följande tillgängliga metoder:

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

Detta ger mycket information relaterad till Tweet och användaren som publicerade tweeten. Dessa inkluderar inte alla metoder, gärna utforska alla tillgängliga metoder.

Observera att dessa attribut kan vara extremt användbara om din applikation beror på mer data.

Exempel: Lägg upp en Tweet

I det här exemplet lägger vi helt enkelt upp en ny tweet från vår kod eftersom användaren redan är autentiserad. Låt oss lägga lite exempelkod här:

privat statisk ogiltig uppdateringTweet (Twitter twitter, String tweet) kastar TwitterException
Status status = twitter.updateStatus (tweet);
Systemet.ut.println ("Uppdaterade statusen till [" + status.getText () + "].");

Att publicera en ny tweet är så enkelt som det.

Exempel: Tweets från en specifik användare

Det är väldigt enkelt att få en annan användar-tweets, bara skicka ett användarnamn och API kommer att returnera några nyligen tweets för användaren.

Låt oss försöka dra de senaste tjugo tweetsna från Twitter-kontot @linuxhint:

Här är exempelkoden:

Lista status = twitter.getUserTimeline (“linuxhint”);
för (Statusstatus: statuser)
Sträng fmt = "@" + status.getUser ().getScreenName () + "-" + status.getText ();
Systemet.ut.println (fmt);

När du kör det här programmet bör du se Tweets för LinuxHint.

Populära applikationer av denna typ av data kan inkludera:

  • Kör analys på specifika användare och hur de interagerar med världen
  • Hitta Twitter-influenser och analysera deras följaretrender och interaktioner
  • Övervakning av ändringarna i en användares följare

Exempel: Hitta tweets med ett nyckelord

Låt oss göra ett sista exempel: Få de senaste tweets som innehåller ett nyckelord. Detta kan vara extremt användbart om du vill övervaka specifikt nämnda ämnen i Twitter-världen eller till och med för att se hur ditt företag nämns.

Låt oss säga att vi vill se hur Twitter nämnde Linux:

// searchTerm = Linux
privat statisk ogiltig sökningTweets (Twitter twitter, String searchTerm) kastar TwitterException
Fråga fråga = ny fråga ("källa:" + searchTerm);
QueryResult-resultat = twitter.Sök fråga);
för (Statusstatus: resultat.getTweets ())
Systemet.ut.println ("@" + status.getUser ().getScreenName () + ":" + status.getText ());

Här är några praktiska sätt att använda denna information:

  • Skapa en rumslig graf över var ditt företag nämns mest runt om i världen
  • Kör sentimentanalys på tweets för att se om ditt företags övergripande åsikt är positivt eller negativt
  • Skapa sociala diagram över de mest populära användarna som tweetar om ditt företag eller din produkt

Vi kan täcka några av dessa ämnen i framtida artiklar.

Twitters API är oerhört användbart i datagruppstillämpningar och kan ge stor insikt i den allmänna opinionen.

Mus Så här vänder du mus- och styrplattans rullningsriktning i Windows 10
Så här vänder du mus- och styrplattans rullningsriktning i Windows 10
Mus och Pekplattas gör inte bara datoranvändning lättare men effektivare och mindre tidskrävande. Vi kan inte föreställa oss ett liv utan dessa enhete...
Mus Så här ändrar du muspekare och markörstorlek, färg och schema på Windows 10
Så här ändrar du muspekare och markörstorlek, färg och schema på Windows 10
Muspekaren och markören i Windows 10 är mycket viktiga aspekter av operativsystemet. Detta kan också sägas för andra operativsystem, så i sanning är d...
Gratis och öppen källkodsmotorer för utveckling av Linux-spel
Den här artikeln kommer att täcka en lista över gratis motorer med öppen källkod som kan användas för att utveckla 2D- och 3D-spel på Linux. Det finns...