Java

Twitter4J vejledning

Twitter4J vejledning
I denne lektion bruger vi Twitter4J-biblioteket til at udvinde data fra Twitter. Twitter beskæftiger sig med Big Data hver dag, men hvad er det faktisk?? Vi får en meget kort oversigt over Big Data, før vi dykker ned i minedata fra Twitter.

Hvorfor min Twitter?

Twitter er et perfekt sted at hente data fra. Her er nogle grunde til, at dette er sandt:

Kom godt i gang

Nu hvor vi har begrundet, hvorfor vi bruger denne platform, lad os begynde at indsamle vores værktøjer. Vi bruger Java 8 til denne lektion, men du er velkommen til at bruge ovenstående versioner (selvom nogle tweaks, ikke tweets, muligvis er nødvendige for at bruge dem).

Vi bruger et Java-bibliotek kaldet Twitter4J til at oprette forbindelse til Twitters API.

Få Twitter API-nøgle

At få Twitter API-nøgle er nødvendig for at få adgang til dens data, da det er sådan, Twitter holder styr på dataene og den anmodningstælling, vores ansøgning stiller til Twitter.

Lad os oprette en Twitter-app og få de rigtige nøgler til at komme videre.

I ovenstående form skal du oprette en applikation med et entydigt navn, et webstedsnavn (brug en pladsholderwebsite, hvis du ikke har en) og en projektbeskrivelse. Accepter vilkårene og betingelserne (hvis du gør det) og fortsæt til næste side.

Når projektet er oprettet, skal du se en side med følgende overskrift:

Vi har brug for disse værdier senere, så det er bedre at holde denne fane åben.

Kom godt i gang med Twitter4J

Twitter4J er en uofficiel Java-bibliotek til Twitter API. Med Twitter4J kan vi nemt integrere vores Java-applikation med Twitter-tjenesten.

Maven afhængighed

For at starte tilføjer vi passende Maven-afhængighed til vores Java-projekt.


org.twitter4j
twitter4j-kerne
4.0.6

Find den nyeste version af afhængighed her.

Godkendelse

Vi har tilføjet krævet Maven-afhængighed nu. Det er på tide, at vi begynder at tale med API og Twitter.

For at starte samtalen skal vi godkende vores opkald til Twitter, så den ved, at kun en kendt bruger har adgang til dataene. Lad os til dette opsætte vores nøgler, vi har fået tidligere.

statisk endelig String CONSUMER_KEY = "du-nøgle";
statisk endelig streng CONSUMER_SECRET = "hemmelig";
statisk endelig streng ACCESS_TOKEN = "token";
statisk endelig streng 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.build ());
returnere tf.getInstance ();

Eksempel: Viser tidslinje

I dette eksempel viser vi nogle af de seneste tweets fra den godkendte brugers tidslinje. Vi gør dette ved at bruge Twitters objekt Status-instans som:

privat statisk ugyldigt showHomeTimeline (Twitter twitter)
Liste status = null;
prøve
status = twitter.getHomeTimeline ();
System.ud.println ("Viser hjemmetidslinje.");
for (Status status: status)
System.ud.println (status.getUser ().getName () + ":" + status.getText ());
String url = "https: // twitter.com / "+ status.getUser ().getScreenName () + "/ status /"
+ status.getId ();
System.ud.println ("Over tweet URL:" + url);

fange (TwitterException e)
e.printStackTrace ();

Resultatet skal se ud som en masse tilfældige tweets:

Ved at følge linket til tweetet kommer du ofte til selve tweetet. At følge linket fra den første tweet ville give os følgende resultat:

Bortset fra brugernavnet og tweetteksten har Twitter API meget information at give, som kan udledes af følgende tilgængelige 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 ();

Dette giver en masse information relateret til Tweet og den bruger, der sendte tweeten. Disse inkluderer ikke alle metoder, er du velkommen til at udforske alle de tilgængelige metoder.

Bemærk, at disse attributter kan være ekstremt nyttige, hvis din applikation afhænger af flere data.

Eksempel: Send et Tweet

I dette eksempel sender vi simpelthen en ny tweet fra vores kode, da brugeren allerede er godkendt. Lad os sætte nogle eksempler på kode her:

privat statisk ugyldig opdateringTweet (Twitter twitter, String tweet) kaster TwitterException
Status status = twitter.updateStatus (tweet);
System.ud.println ("Status opdateret til [" + status.getText () + "].");

Det er så simpelt at sende en ny tweet.

Eksempel: Tweets fra en bestemt bruger

Det er meget let at få en anden bruger-tweets, bare send et brugernavn, og API'en returnerer nogle nylige tweets til brugeren.

Lad os prøve at hente de seneste tyve tweets fra twitter-konto @linuxhint:

Her er prøvekoden:

Liste status = twitter.getUserTimeline (“linuxhint”);
for (Status status: status)
Streng fmt = "@" + status.getUser ().getScreenName () + "-" + status.getText ();
System.ud.println (fmt);

Når du kører dette program, skal du se tweets til LinuxHint.

Populære applikationer af denne type data kan omfatte:

  • Kører analyse af specifikke brugere, og hvordan de interagerer med verden
  • Find Twitter-påvirkere og analysere deres tilhængertendenser og interaktioner
  • Overvågning af ændringer i en brugers tilhængere

Eksempel: Find tweets ved hjælp af et nøgleord

Lad os gøre et sidste eksempel: Få de seneste tweets, der indeholder et nøgleord. Dette kan være yderst nyttigt, hvis du vil overvåge specifikt nævnte emner i Twitter-verdenen eller endda se, hvordan din virksomhed bliver nævnt.

Lad os sige, at vi vil se, hvordan Twitter har nævnt Linux:

// searchTerm = Linux
privat statisk ugyldig søgningTweets (Twitter twitter, String searchTerm) kaster TwitterException
Forespørgsel = ny forespørgsel ("kilde:" + searchTerm);
QueryResult resultat = twitter.søgning (forespørgsel)
for (Status status: resultat.getTweets ())
System.ud.println ("@" + status.getUser ().getScreenName () + ":" + status.getText ());

Her er nogle praktiske måder, du kan bruge disse oplysninger på:

  • Opret en rumlig graf over, hvor din virksomhed nævnes mest rundt omkring i verden
  • Kør sentimentanalyse på tweets for at se, om din virksomheds overordnede mening er positiv eller negativ
  • Opret sociale grafer over de mest populære brugere, der kvidrer om din virksomhed eller dit produkt

Vi kan dække nogle af disse emner i fremtidige artikler.

Twitters API er uhyre nyttigt i data mining applikationer og kan give stor indsigt i den offentlige mening.

Mus Sådan ændres musemarkør og markørstørrelse, farve og skema på Windows 10
Sådan ændres musemarkør og markørstørrelse, farve og skema på Windows 10
Musemarkøren og markøren i Windows 10 er meget vigtige aspekter af operativsystemet. Dette kan også siges om andre operativsystemer, så i sandhed er d...
Gratis og open source-spilmotorer til udvikling af Linux-spil
Denne artikel dækker en liste over gratis og open source-spilmotorer, der kan bruges til at udvikle 2D- og 3D-spil på Linux. Der er mange sådanne spil...
Shadow of the Tomb Raider til Linux-vejledning
Shadow of the Tomb Raider er den tolvte tilføjelse til Tomb Raider-serien - en action-adventure-spilfranchise oprettet af Eidos Montreal. Spillet blev...