Twitter Data Mining: una guida all'analisi dei big data utilizzando Python
Pubblicato: 2022-03-11I big data sono ovunque. Periodo. Nel processo di gestione di un'attività di successo al giorno d'oggi, è probabile che ti imbatterai in esso, che ti piaccia o no.
Che tu sia un uomo d'affari che cerca di mettersi al passo con i tempi o un prodigio della programmazione alla ricerca del loro prossimo progetto, questo tutorial ti fornirà una breve panoramica di cosa sono i big data. Imparerai come è applicabile a te e come puoi iniziare rapidamente tramite l'API di Twitter e Python.
Che cosa sono i big data?
I big data sono esattamente quello che sembrano: molti dati. Da solo, un singolo punto di dati non può darti molte informazioni. Ma terabyte di dati, combinati con modelli matematici complessi e una potenza di calcolo turbolenta, possono creare intuizioni che gli esseri umani non sono in grado di produrre. Il valore che l'analisi dei big data fornisce a un'azienda è intangibile e supera ogni giorno le capacità umane.
Il primo passo per l'analisi dei big data è la raccolta dei dati stessi. Questo è noto come "data mining". I dati possono provenire da qualsiasi luogo. La maggior parte delle aziende gestisce gigabyte di dati su utenti, prodotti e posizione. In questo tutorial, esploreremo come utilizzare le tecniche di data mining per raccogliere i dati di Twitter, che possono essere più utili di quanto potresti pensare.
Ad esempio, supponiamo che tu gestisca Facebook e desideri utilizzare i dati di Messenger per fornire informazioni su come puoi pubblicizzare meglio il tuo pubblico. Messenger ha 1,2 miliardi di utenti attivi mensili. In questo caso, i big data sono conversazioni tra utenti. Se dovessi leggere individualmente le conversazioni di ciascun utente, saresti in grado di farti un'idea di ciò che gli piace e di consigliargli i prodotti di conseguenza. Utilizzando una tecnica di apprendimento automatico nota come Natural Language Processing (NLP), puoi farlo su larga scala con l'intero processo automatizzato e lasciato alle macchine.
Questo è solo uno degli innumerevoli esempi di come l'apprendimento automatico e l'analisi dei big data possono aggiungere valore alla tua azienda.
Perché i dati di Twitter?
Twitter è una miniera d'oro di dati. A differenza di altre piattaforme social, quasi tutti i tweet degli utenti sono completamente pubblici e richiamabili. Questo è un enorme vantaggio se stai cercando di ottenere una grande quantità di dati su cui eseguire analisi. Anche i dati di Twitter sono piuttosto specifici. L'API di Twitter ti consente di eseguire query complesse come estrarre ogni tweet su un determinato argomento negli ultimi venti minuti o estrarre i tweet non ritwittati di un determinato utente.
Una semplice applicazione di questo potrebbe essere l'analisi di come la tua azienda viene accolta dal pubblico in generale. Potresti raccogliere gli ultimi 2.000 tweet che menzionano la tua azienda (o qualsiasi termine che ti piace) ed eseguire un algoritmo di analisi del sentimento su di esso.
Possiamo anche scegliere come target utenti che risiedono in una determinata posizione, nota come dati spaziali. Un'altra applicazione di questo potrebbe essere quella di mappare le aree del globo in cui la tua azienda è stata menzionata di più.
Come puoi vedere, i dati di Twitter possono essere una grande porta per accedere alle intuizioni del pubblico in generale e al modo in cui ricevono un argomento. Ciò, combinato con l'apertura e la generosa limitazione della velocità dell'API di Twitter, può produrre risultati potenti.
Panoramica degli strumenti
Useremo Python 2.7 per questi esempi. Idealmente, dovresti avere un IDE in cui scrivere questo codice. Userò PyCharm - Community Edition.
Per connetterci all'API di Twitter, utilizzeremo una libreria Python chiamata Tweepy, che installeremo tra un po'.
Iniziare
Account sviluppatore Twitter
Per utilizzare l'API di Twitter, dobbiamo creare un account sviluppatore sul sito delle app di Twitter.
- Accedi o crea un account Twitter su https://apps.twitter.com/.
- Crea una nuova app (pulsante in alto a destra)
- Compila la pagina di creazione dell'app con un nome univoco , il nome di un sito Web (utilizza un sito Web segnaposto se non ne hai uno) e una descrizione del progetto. Accetta i termini e le condizioni e vai alla pagina successiva.
- Una volta creato il tuo progetto, fai clic sulla scheda "Chiavi e token di accesso". Ora dovresti essere in grado di vedere il tuo segreto del consumatore e la chiave del consumatore.
- Avrai anche bisogno di un paio di token di accesso. Scorri verso il basso e richiedi quei token. La pagina dovrebbe aggiornarsi e ora dovresti avere un token di accesso e un token di accesso segreto.
Avremo bisogno di tutto questo in seguito, quindi assicurati di tenere aperta questa scheda.
Installazione di Tweepy
Tweepy è uno strumento ottimamente supportato per accedere all'API di Twitter. Supporta Python 2.6, 2.7, 3.3, 3.4, 3.5 e 3.6. Ci sono un paio di modi diversi per installare Tweepy. Il modo più semplice è usare pip
.
Usando Pip
Digita semplicemente pip install tweepy
nel tuo terminale.
Utilizzo di GitHub
Puoi seguire le istruzioni sul repository GitHub di Tweepy. I passaggi di base sono i seguenti:
git clone https://github.com/tweepy/tweepy.git cd tweepy python setup.py install
È anche possibile risolvere eventuali problemi di installazione lì.
Autenticazione
Ora che abbiamo gli strumenti necessari pronti, possiamo iniziare a programmare! La linea di base di ogni applicazione che costruiremo oggi richiede l'uso di Tweepy per creare un oggetto API con cui possiamo chiamare funzioni. Per creare l'oggetto API, tuttavia, dobbiamo prima autenticarci con le nostre informazioni sullo sviluppatore.
Innanzitutto, importiamo Tweepy e aggiungiamo le nostre informazioni di autenticazione.
import tweepy consumer_key = "wXXXXXXXXXXXXXXXXXXXXXXX1" consumer_secret = "qXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXh" access_token = "9XXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXi" access_token_secret = "kXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXT"
Ora è il momento di creare il nostro oggetto API.
# Creating the authentication object auth = tweepy.OAuthHandler(consumer_key, consumer_secret) # Setting your access token and secret auth.set_access_token(access_token, access_token_secret) # Creating the API object while passing in auth information api = tweepy.API(auth)
Questa sarà la base di ogni applicazione che creiamo, quindi assicurati di non eliminarla.
Esempio 1: la tua linea temporale
In questo esempio, estrarremo i dieci tweet più recenti dal tuo feed Twitter. Lo faremo utilizzando la funzione home_timeline()
dell'oggetto API. Possiamo quindi memorizzare il risultato in una variabile e scorrerla per stampare i risultati.
# Using the API object to get tweets from your timeline, and storing it in a variable called public_tweets public_tweets = api.home_timeline() # foreach through all tweets pulled for tweet in public_tweets: # printing the text stored inside the tweet object print tweet.text
Il risultato dovrebbe apparire come un mucchio di tweet casuali, seguiti dall'URL del tweet stesso.

Seguendo il collegamento al tweet spesso si arriva al tweet stesso. Seguire il link del primo tweet ci darebbe il seguente risultato:
Nota che se lo stai eseguendo tramite terminale e non un IDE come PyCharm, potresti avere alcuni problemi di formattazione quando tenti di stampare il testo del tweet.
Il JSON dietro i risultati
Nell'esempio sopra, abbiamo stampato il testo di ogni tweet usando tweet.text
. Per fare riferimento agli attributi specifici di ciascun oggetto tweet, dobbiamo guardare il JSON restituito dall'API di Twitter.
Il risultato che ricevi dall'API di Twitter è in formato JSON e ha una discreta quantità di informazioni allegate. Per semplicità, questo tutorial si concentra principalmente sull'attributo "testo" di ciascun tweet e sulle informazioni sul tweeter (l'utente che ha creato il tweet). Per l'esempio precedente, puoi vedere l'intero oggetto JSON restituito qui.
Ecco una rapida occhiata ad alcuni attributi che un tweet ha da offrire.
Se volessi trovare la data in cui è stato creato il tweet, dovresti interrogarlo con print tweet.created_at
.
Puoi anche vedere che ogni oggetto tweet viene fornito con informazioni sul tweeter.
Per ottenere l'attributo "nome" e "posizione" del tweeter, è possibile eseguire print tweet.user.screen_name
e print tweet.user.location
.
Tieni presente che questi attributi possono essere estremamente utili se l'applicazione dipende dai dati spaziali.
Esempio 2: Tweet di un utente specifico
In questo esempio, estrarremo semplicemente gli ultimi venti tweet da un utente di nostra scelta.
Per prima cosa, esamineremo la documentazione di Tweepy per vedere se esiste una funzione del genere. Con un po' di ricerca, scopriamo che la funzione user_timeline()
è ciò che stiamo cercando.
Possiamo vedere che la funzione user_timeline()
ha alcuni parametri utili che possiamo usare, in particolare id
(l'ID dell'utente) e count
(la quantità di tweet che vogliamo estrarre). Tieni presente che possiamo estrarre solo un numero limitato di tweet per query a causa dei limiti di frequenza di Twitter.
Proviamo a estrarre gli ultimi venti tweet dall'account Twitter @NyTimes.
Possiamo creare variabili per memorizzare la quantità di tweet che vogliamo estrarre (contare) e l'utente da cui vogliamo estrarli (nome). Possiamo quindi chiamare la funzione user_timeline con questi due parametri. Di seguito è riportato il codice aggiornato (nota che dovresti aver mantenuto l'autenticazione e la creazione dell'oggetto API nella parte superiore del tuo codice).
# Creating the API object while passing in auth information api = tweepy.API(auth) # The Twitter user who we want to get tweets from name = "nytimes" # Number of tweets to pull tweetCount = 20 # Calling the user_timeline function with our parameters results = api.user_timeline(id=name, count=tweetCount) # foreach through all tweets pulled for tweet in results: # printing the text stored inside the tweet object print tweet.text
I nostri risultati dovrebbero assomigliare a questo:
Le applicazioni più diffuse di questo tipo di dati possono includere:
- Esecuzione di analisi su utenti specifici e su come interagiscono con il mondo
- Trovare gli influencer di Twitter e analizzare le tendenze e le interazioni dei loro follower
- Monitoraggio dei cambiamenti nei follower di un utente
Esempio 3: trovare i 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 vuoi monitorare argomenti specificamente menzionati nel mondo di Twitter o anche per vedere come viene menzionata la tua attività. Diciamo che vogliamo vedere come Twitter ha menzionato Toptal.
Dopo aver esaminato la documentazione di Tweepy, la funzione search()
sembra essere lo strumento migliore per raggiungere il nostro obiettivo.
Il parametro più importante qui è q
, il parametro della query, che è la parola chiave che stiamo cercando.
Possiamo anche impostare il parametro della lingua in modo da non ricevere tweet da una lingua indesiderata. Restituiamo solo tweet in inglese ("en").
Ora possiamo modificare il nostro codice per riflettere le modifiche che vogliamo apportare. Per prima cosa creiamo variabili per memorizzare i nostri parametri (query e lingua), quindi chiamiamo la funzione tramite l'oggetto API. Stampiamo anche lo screen name, dell'utente che ha creato il tweet, nel nostro loop.
# Creating the API object while passing in auth information api = tweepy.API(auth) # The search term you want to find query = "Toptal" # Language code (follows ISO 639-1 standards) language = "en" # Calling the user_timeline function with our parameters results = api.search(q=query, lang=language) # foreach through all tweets pulled for tweet in results: # printing the text stored inside the tweet object print tweet.user.screen_name,"Tweeted:",tweet.text
I nostri risultati dovrebbero assomigliare a questo:
Ecco alcuni modi pratici per utilizzare queste informazioni:
- Crea un grafico spaziale su dove la tua azienda è menzionata di più nel mondo
- Esegui l'analisi del sentiment sui tweet per vedere se l'opinione generale della tua azienda è positiva o negativa
- Crea un grafico sociale degli utenti più popolari che twittano sulla tua azienda o prodotto
Possiamo trattare alcuni di questi argomenti in articoli futuri.
Conclusione
L'API di Twitter è estremamente utile nelle applicazioni di data mining e può fornire ampie informazioni sull'opinione pubblica. Se l'API di Twitter e l'analisi dei big data sono qualcosa che ti interessa ulteriormente, ti incoraggio a leggere di più sull'API di Twitter, su Tweepy e sulle linee guida sulla limitazione della frequenza di Twitter.
Abbiamo trattato solo le basi dell'accesso e dell'estrazione. L'API di Twitter può essere sfruttata in problemi di big data molto complessi, che coinvolgono persone, tendenze e grafici sociali troppo complicati per essere afferrati dalla mente umana da sola.