Java

Twitter4J opplæring

Twitter4J opplæring
I denne leksjonen bruker vi Twitter4J-biblioteket til å utvide data fra Twitter. Twitter tar for seg Big Data hver dag, men hva er det egentlig?? Vi har en veldig kort oversikt over Big Data før vi dykker ned i gruvedata fra Twitter.

Hvorfor min Twitter?

Twitter er et perfekt sted å hente data fra. Her er noen grunner til at dette stemmer:

Starter

Nå som vi har begrunnet hvorfor vi bruker denne plattformen, la oss begynne å samle inn verktøyene våre. Vi bruker Java 8 for denne leksjonen, men bruk gjerne versjonene ovenfor (selv om noen tweaks, ikke tweets, kan være nødvendig for å bruke dem).

Vi bruker et Java-bibliotek kalt Twitter4J for å koble til Twitters API.

Å få Twitter API-nøkkel

Å få Twitter API-nøkkel er nødvendig for å få tilgang til dataene, da dette er hvordan Twitter holder styr på dataene og antallet forespørsler som applikasjonen vår gjør til Twitter.

La oss lage en Twitter-app og få de riktige nøklene for å komme videre.

I ovennevnte form, opprett en applikasjon med et unikt navn, et nettstedsnavn (bruk et stedholdernettsted hvis du ikke har en) og en prosjektbeskrivelse. Godta vilkårene (hvis du gjør det) og fortsett til neste side.

Når prosjektet er opprettet, bør du se en side med følgende overskrift:

Vi trenger disse verdiene senere, så det vil være bedre å holde denne fanen åpen.

Komme i gang med Twitter4J

Twitter4J er en uoffisiell Java-bibliotek for Twitter API. Med Twitter4J kan vi enkelt integrere Java-applikasjonen vår med Twitter-tjenesten.

Maven avhengighet

For å starte, legger vi til passende Maven-avhengighet til Java-prosjektet vårt.


org.twitter4j
twitter4j-kjerne
4.0.6

Finn den nyeste versjonen av avhengighet her.

Godkjenning

Vi har lagt til nødvendig Maven-avhengighet nå. Det er på tide at vi begynner å snakke med API og Twitter.

For å starte samtalen må vi godkjenne samtalene våre til Twitter slik at den vet at bare en kjent bruker har tilgang til dataene. For dette, la oss sette opp nøklene vi fikk tidligere.

statisk slutt String CONSUMER_KEY = "du-nøkkel";
statisk sluttstreng CONSUMER_SECRET = "hemmelig";
statisk sluttstreng ACCESS_TOKEN = "token";
statisk sluttstreng 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.bygge());
retur tf.getInstance ();

Eksempel: Viser tidslinje

I dette eksemplet viser vi noen nyeste tweets fra autentisert brukerens tidslinje. Vi gjør dette ved å bruke Twitters objektstatusforekomst som:

privat statisk ugyldig showHomeTimeline (Twitter Twitter)
Liste statuser = null;
prøv
statuser = twitter.getHomeTimeline ();
System.ute.println ("Viser tidslinjen for hjemmet.");
for (Status status: statuses)
System.ute.println (status.getUser ().getName () + ":" + status.getText ());
String url = "https: // twitter.com / "+ status.getUser ().getScreenName () + "/ status /"
+ status.getId ();
System.ute.println ("Over tweet URL:" + url);

fangst (TwitterException e)
e.printStackTrace ();

Resultatet skal se ut som en haug med tilfeldige tweets:

Å følge lenken til tweeten vil ofte føre deg til selve tweeten. Å følge lenken fra den første tweeten vil gi oss følgende resultat:

Bortsett fra brukernavnet og tweetteksten, har Twitter API mye informasjon å gi som kan utledes fra følgende tilgjengelige 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 gir mye informasjon relatert til Tweet og brukeren som la ut tweeten. Disse inkluderer ikke alle metoder, utforsk gjerne alle metodene som er tilgjengelige.

Merk at disse attributtene kan være ekstremt nyttige hvis søknaden din er avhengig av mer data.

Eksempel: Legg ut en Tweet

I dette eksemplet legger vi ganske enkelt ut en ny tweet fra koden vår ettersom brukeren allerede er autentisert. La oss sette noen eksempler kode her:

privat statisk ugyldig oppdateringTweet (Twitter twitter, String tweet) kaster TwitterException
Status status = twitter.updateStatus (tweet);
System.ute.println ("Oppdaterte statusen til [" + status.getText () + "].");

Å legge ut en ny tweet er så enkelt som det.

Eksempel: Tweets fra en bestemt bruker

Det er veldig enkelt å få en annen bruker-tweets, bare send et brukernavn, og API-en vil returnere noen nylige tweets for brukeren.

La oss prøve å hente de siste tjue tweets fra Twitter-konto @linuxhint:

Her er eksempelkoden:

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

Når du kjører dette programmet, bør du se tweets for LinuxHint.

Populære applikasjoner av denne typen data kan omfatte:

  • Kjører analyse på spesifikke brukere, og hvordan de samhandler med verden
  • Finne Twitter-påvirkere og analysere tilhengertrender og interaksjoner
  • Overvåke endringene i følgere av en bruker

Eksempel: Finne tweets ved hjelp av et nøkkelord

La oss gjøre et siste eksempel: Få de nyeste tweets som inneholder et nøkkelord. Dette kan være ekstremt nyttig hvis du vil overvåke spesielt nevnte emner i Twitter-verdenen, eller til og med for å se hvordan virksomheten din blir nevnt.

La oss si at vi vil se hvordan Twitter har nevnt Linux:

// searchTerm = Linux
private static void searchTweets (Twitter twitter, String searchTerm) kaster TwitterException
Query query = new Query ("source:" + searchTerm);
QueryResult resultat = twitter.søkeord);
for (Status status: resultat.getTweets ())
System.ute.println ("@" + status.getUser ().getScreenName () + ":" + status.getText ());

Her er noen praktiske måter du kan bruke denne informasjonen på:

  • Lag en romlig graf over hvor bedriften din blir nevnt mest rundt om i verden
  • Kjør sentimentanalyse på tweets for å se om den samlede oppfatningen av selskapet ditt er positivt eller negativt
  • Lag sosiale diagrammer over de mest populære brukerne som twitter om firmaet eller produktet ditt

Vi kan dekke noen av disse emnene i fremtidige artikler.

Twitters API er utrolig nyttig i data mining applikasjoner, og kan gi stor innsikt i opinionen.

Mus Kontroller og administrer musebevegelser mellom flere skjermer i Windows 10
Kontroller og administrer musebevegelser mellom flere skjermer i Windows 10
Dual Display Mouse Manager lar deg kontrollere og konfigurere musebevegelse mellom flere skjermer, ved å bremse bevegelsene nær grensen. Windows 10/8,...
Mus WinMouse lar deg tilpasse og forbedre musemarkørenes bevegelse på Windows PC
WinMouse lar deg tilpasse og forbedre musemarkørenes bevegelse på Windows PC
Hvis du vil forbedre standardfunksjonene til musepekeren, bruk freeware WinMouse. Det legger til flere funksjoner som hjelper deg å få mest mulig ut a...
Mus Mus venstreklikknapp fungerer ikke på Windows 10
Mus venstreklikknapp fungerer ikke på Windows 10
Hvis du bruker en dedikert mus med den bærbare eller stasjonære datamaskinen, men museklikk-knappen fungerer ikke på Windows 10/8/7 av en eller annen ...