TUTURE TWITTER4J

TUTURE TWITTER4J
In questa lezione, useremo la libreria Twitter4j per estrarre i dati da Twitter. Twitter si occupa di big data ogni giorno, ma quello che è in realtà? Avremo una panoramica molto breve sui big data prima di immergerci nei dati di mining da Twitter.

Perché il mio Twitter?

Twitter è un luogo perfetto per estrarre i dati. Ecco alcuni motivi per cui questo è vero:

  • Tutti i tweet su Twitter sono pubblici
  • I nuovi dati continuano a venire in tempo reale, questo significa che non si esaurisce mai nuovi dati su cui testare
  • Twitter ha un'API interessante per gli sviluppatori da cui estrarre i dati, sono anche amichevoli
  • Le API fornite da Twitter forniscono modi semplici per tirare i tweet relativi a un utente specifico o a una parola/hashtag specifico o tweet in una determinata posizione

Iniziare

Ora che abbiamo giustificato perché stiamo usando questa piattaforma, iniziamo a raccogliere i nostri strumenti. Useremo Java 8 per questa lezione, ma non mi sento libero di usare le versioni sopra (anche se alcune modifiche, non tweet, potrebbero essere necessarie per usarle).

Useremo una libreria Java chiamata Twitter4J per connetterci all'API di Twitter.

Ottenere la chiave API di Twitter

È necessario ottenere la chiave API di Twitter per accedere ai propri dati in quanto questo è il modo in cui Twitter tiene traccia dei dati e le richieste contano la nostra applicazione su Twitter.

Crea un'app Twitter e otteniamo le chiavi corrette per andare avanti.

  • Crea un'app qui

Nel modulo sopra, crea un'applicazione con un nome univoco, un nome del sito Web (usa un sito Web segnaposto se non ne hai uno) e una descrizione del progetto. Accetta i termini e le condizioni (se lo fai) e procedi alla pagina successiva.

Una volta creato il progetto, dovresti vedere una pagina con l'intestazione seguente:

  • Nelle informazioni di seguito, fai clic sulla scheda "Chiavi e token di accesso" per ottenere le seguenti informazioni:
  • Scorri verso il basso e fai clic su "Genera i token di accesso" per ottenere le informazioni di seguito:

Avremo bisogno di questi valori in seguito, quindi sarà meglio tenere aperta questa scheda.

Iniziare con Twitter4j

Twitter4j è un non ufficiale Biblioteca Java per l'API di Twitter. Con Twitter4J, possiamo facilmente integrare la nostra applicazione Java con il servizio Twitter.

Dipendenza da maven

Per iniziare, aggiungeremo un'adeguata dipendenza da Maven al nostro progetto Java.


org.Twitter4J
Twitter4j-core
4.0.6

Trova qui l'ultima versione di dipendenza da Maven.

Autenticazione

Abbiamo aggiunto ora la dipendenza da Maven richiesta. È ora che iniziamo a parlare con l'API e Twitter.

Per iniziare la conversazione, dobbiamo autenticare le nostre chiamate su Twitter in modo che sappia che solo un utente noto sta accedendo ai dati. Per questo, impostiamo le nostre chiavi che abbiamo ottenuto prima.

stringa finale statica consumer_key = "you-key";
String finale statica Consumer_Secret = "Secret";
stringa finale statica access_token = "token";
stringa finale statica Access_token_secret = "token-secret";
Public static 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 = new TwitterFactory (CB.costruire());
restituire tf.getInstance ();

Esempio: mostrare la sequenza temporale

In questo esempio, mostreremo alcuni tweet più recenti della sequenza temporale dell'utente autenticato. Lo faremo usando l'istanza dello stato dell'oggetto di Twitter come:

Private Static Void ShowHometimeline (Twitter Twitter)
Elenco statuses = null;
Tentativo
Statees = Twitter.getometimeline ();
Sistema.fuori.println ("Mostrare temporale.");
per (stato status: statuses)
Sistema.fuori.println (stato.getUser ().getName () + ":" + stato.getText ());
String url = "https: // twitter.com/" + status.getUser ().getScreenname () + "/status/"
+ stato.getID ();
Sistema.fuori.println ("sopra tweet url:" + url);

catch (TwitterException e)
e.printStackTrace ();

Il risultato dovrebbe sembrare un mucchio di tweet casuali:

Seguire il link al tweet ti porterà spesso al tweet stesso. Seguire il link dal primo tweet ci darebbe il seguente risultato:

Oltre al nome utente e al testo del tweet, l'API di Twitter ha molte informazioni da fornire che possono essere dedotte dai seguenti metodi disponibili:

stato.getSource ();
stato.getCreateDat ();
stato.getFavoriteCount ();
stato.getGeolocation ();
stato.getLang ();
stato.getplace ();
stato.getretweetCount ();
stato.getUser ().getBiggerProfileImageUrl ();
stato.getUser ().getEmail ();
stato.getUser ().getFollowersCount ();
stato.getUser ().getfriendscount ();

Questo fornisce molte informazioni relative al tweet e all'utente che ha pubblicato il tweet. Questi includono non tutti i metodi, sentiti libero di esplorare tutti i metodi disponibili.

Si noti che questi attributi possono essere estremamente utili se l'applicazione dipende da più dati.

Esempio: pubblica un tweet

In questo esempio, pubblicheremo semplicemente un nuovo tweet dal nostro codice poiché l'utente è già autenticato. Mettiamo un po 'di codice di esempio qui:

Private static void updatetweet (twitter twitter, string tweet) lancia TwitterException
Stato dello stato = Twitter.updatestatus (tweet);
Sistema.fuori.println ("ha aggiornato correttamente lo stato allo stato [ +.getText () + "].");

Pubblicare un nuovo tweet è semplice.

Esempio: tweet di un utente specifico

È molto facile ottenere un altro tweet utente, basta passare un nome utente e l'API restituirà alcuni tweet recenti per l'utente.

Proviamo a tirare gli ultimi venti tweet dall'account Twitter @LinuxHint:

Ecco il codice di esempio:

Elenco Statees = Twitter.getUsertimeline ("LinuxHint");
per (stato status: statuses)
String fmt = "@" + status.getUser ().getScreenname () + " -" + stato.getText ();
Sistema.fuori.println (fmt);

Quando esegui questo programma, dovresti vedere i tweet per LinuxHint.

Le applicazioni popolari di questo tipo di dati possono includere:

  • Esecuzione di analisi su utenti specifici e come interagiscono con il mondo
  • Trovare influencer di Twitter e analizzare le loro tendenze e interazioni del follower
  • Monitoraggio delle modifiche nei follower di un utente

Esempio: trovare tweet utilizzando una parola chiave

Facciamo un ultimo esempio: ottenere i tweet più recenti che contengono una parola chiave. Questo può essere estremamente utile se si desidera monitorare argomenti specificamente menzionati nel mondo di Twitter o anche vedere come viene menzionata la tua attività.

Diciamo che vogliamo vedere come Twitter ha menzionato Linux:

// SearchTerm = Linux
Private static void SearchTweets (Twitter Twitter, String SearchTerm) lancia TwitterException
Query query = new query ("fonte:" + searchterm);
QueryResult Result = Twitter.query di ricerca);
per (stato di stato: risultato.getTweets ())
Sistema.fuori.println ("@" + status.getUser ().getScreenname () + ":" + stato.getText ());

Ecco alcuni modi pratici che puoi utilizzare queste informazioni:

  • Crea un grafico spaziale su dove viene menzionata la tua azienda di più in tutto il mondo
  • Esegui l'analisi del sentimento sui tweet per vedere se l'opinione generale della tua azienda è positiva o negativa
  • Crea un grafico social degli utenti più popolari che twittano sulla tua azienda o prodotto

Possiamo coprire alcuni di questi argomenti in articoli futuri.

L'API di Twitter è immensamente utile nelle applicazioni di data mining e può fornire grandi approfondimenti sull'opinione pubblica.