Tafferugli è una applicazione web in grado di filtrare, analizzare e raccogliere tweet. Può essere utilizzato per facilitare l’analisi di fenomeni legati a campagne di propaganda.
Tafferugli ha due compiti principali:
- trasmettere in streaming i tweet in tempo reale, raccoglierli sulla base di alcuni criteri di interesse, archiviarli in un database relazionale
- analizzare i tweet archiviati (e gli oggetti correlati) calcolando le “metriche” su di essi
Le attività degli utenti sono organizzate in base alla Campagna : un utente crea una campagna e decide i criteri per filtrare i tweet, creando Entità e collegandole alla campagna.
Ad esempio, se gli utenti vogliono analizzare i tweet riguardanti l’argomento “Elezione del presidente inutile di Arcadia”, potrebbero essere interessati a tutti i tweet contenenti la parola “presidente di arcadia”, nonché tutti i tweet in risposta all’account @ArcadiaElectoralOffice e tweets contenenti un URL per il dominio “arcadia-elections-2020.com” Per farlo, è possibile creare tre entità (ne parleremo più avanti) e collegarle alla campagna. Quindi, almeno un oggetto Streamer deve essere creato per le nuove entità: una volta avviato, filtra i tweet live utilizzando l’API di Twitter e memorizza quelli che corrispondono alle sue entità.
Le metriche possono essere calcolate utilizzando tutti gli elementi (tweet e / o utenti) relativi a una campagna o su una sottoselezione di tweet o utenti. Ad esempio, è possibile selezionare utenti con un tratto simile, o tweet pubblicati in un determinato intervallo di tempo e fare analisi su questi sottoinsiemi.
Configurazione delle chiavi API di Twitter
Per trasmettere in streaming i tweet in tempo reale, l’applicazione richiede le chiavi API di Twitter. Pertanto, avrai bisogno di:
Sono gratuiti, ma è necessario seguire una procedura di approvazione per ottenerli.
Una volta che hai le chiavi API di Twitter, caricale dal menu “AppAdmin”> “Gestisci account Twitter”. Se è l’unico set di chiavi API di Twitter che utilizzerai, impostalo come “account globale”. Ciò significa che tali credenziali verranno utilizzate anche per attività applicative generali non collegate a una campagna specifica.
Creazione di una campagna
Per prima cosa è necessario creare le entità (URL, account, hashtag …) che verranno monitorate (ovvero: utilizzate per filtrare i tweet).
Per farlo, vai su “AppAdmin”> “Gestisci / Crea entità”. Il campo “nome” è il modo in cui l’entità verrà visualizzata all’interno dell’applicazione. Il tipo di entità deve essere scelto tra:
- Hashtag: abbina i tweet contenenti un determinato hashtag. Si aspetta un termine che inizia con #.
- Testo OPPURE: abbina i tweet a uno dei termini inseriti. Si aspetta una serie di parole.
- Testo AND: abbina i tweet a tutte le parole inserite. Si aspetta una serie di parole.
- Risposte al thread dell’utente (lassista): raccoglie tutti i tweet in risposta a un determinato utente e risponde anche a quei tweet. Si aspetta un account che inizi con @.
- Risposte a tweet utente (rigoroso): ottieni solo le risposte dirette a un determinato account utente. Si aspetta un account che inizi con @.
- Retweet di un utente: ottieni tutti i retweet dei tweet di un account specifico. Si aspetta un account che inizi con @.
- Risposte dirette e retweet di un utente: 6 e 5. Si aspetta un account che inizi con @.
- Risposte thread e retweet di un utente: 6 e 4. Si aspetta un account che inizi con @.
- Menzioni dell’utente: tweet che menzionano l’handle di un account specifico. Si aspetta un account che inizi con @.
- Dominio: tweet contenenti un URL per un dominio specifico (es. Tafferugli.io abbinerà tutti i tweet contenenti un collegamento a qualsiasi pagina di questo sito Web). Si aspetta un dominio nella forma “tafferugli.io”.
- URL esatto: tweet contenenti un URL specifico. Ciò significa che verranno abbinati anche i parametri URL (ad esempio: http://domain.com/index.php?page=1 non corrisponderà a http://domain.com/index.php?page=2 né a https: // domain.com/index.php?page=1). Si aspetta un URL.
- URL permissivo: protocollo e parametri vengono ignorati (ad esempio: http://domain.com/index.php?page=1 corrisponde sia a http://domain.com/index.php?page=2 che a https: // domain. com / index.php? page = 1). Si aspetta un URL.
Tieni presente che, a causa delle limitazioni dell’API di Twitter, gli URL (come qualsiasi altra entità) possono essere abbinati fino a 60 caratteri
Per creare la campagna , vai su “AppAdmin> Crea campagna” e compila i campi. Assegna un nome alla campagna e seleziona l’account Twitter che verrà utilizzato per lo streaming delle entità di questa campagna. Se hai più di un set di chiavi API Twitter, è meglio collegare account diversi a campagne diverse, per evitare di raggiungere i limiti dell’API Twitter. Seleziona tutte le entità che devono essere collegate alla campagna.
Infine, almeno uno Streamer deve essere creato da “AppAdmin> Gestisci / crea streamer”.
Esistono due tipi di streamer, a seconda del tipo di entità che devono monitorare. Uno streamer è in grado di tracciare le interazioni con gli utenti (retweet, risposte e menzioni) mentre l’altro può filtrare i tweet in base al loro contenuto. Se la campagna ha entità di entrambi i tipi, è necessario creare due streamer separati.
- Tipo di streamer : seleziona “Traccia un termine o hashtag” per le entità di tipo 1,2,3,10,11,12 dall’elenco sopra. Seleziona “Segui le interazioni con un utente” per tutti gli altri tipi di entità.
- Entità : seleziona tutte le entità che questo streamer monitorerà
- Campagna : seleziona la campagna
- Scade alle : se vuoi che lo streamer smetta di raccogliere tweet dopo un po ‘, inseriscilo nel formato “AAAA-MM-GG HH: MM: SS”; lasciare vuoto altrimenti
- Abilitato : seleziona questo campo
- Livello massimo annidato : viene utilizzato nelle operazioni ricorsive. Ad esempio, se un tweet è la risposta a un altro tweet, viene raccolto anche il primo tweet. Il valore “livello massimo annidato” indica a quanti tweet tornare.
Una volta impostati Campaign , Entities e Streamer , la raccolta può iniziare.
Raccolta di tweet
Per iniziare a raccogliere i tweet, vai alla pagina “Streamers”, seleziona uno streamer dall’elenco e fai clic sul pulsante “Start”.
Si noti che la raccolta avviene in un’attività in background, come spiegato nella sezione “Installazione”: pertanto le attività in background devono essere eseguite con
python manage.py process_tasks
Una volta avviata la raccolta, i tweet raccolti in tempo reale verranno stampati sulla console.
A seconda dell’ambiente e dell’utilizzo, potresti voler mantenere il processo in background che raccoglie i tweet separato dai processi in background che eseguono operazioni generali e calcolo delle metriche. In questo scenario usa:
python manage.py process_tasks --queue=streamers-queue
Esplorare tweet e utenti
Dal menu “Campagne”, selezionando una singola campagna si ha una panoramica generale dei dati raccolti all’interno di una dashboard.
Per esplorare tutti i tweet e gli utenti raccolti , fare clic sul pulsante a sinistra “Esplora i tweet e gli utenti correlati a questa campagna”. Nel modulo di ricerca, seleziona il target della tua ricerca (utenti o tweet); quindi selezionare i criteri di ricerca. Lascia vuoto per cercare tutti gli utenti. Dall’elenco dei risultati è possibile filtrare ulteriormente cercando un termine. Fare clic su utenti e tweet per vedere i loro dettagli.
Da questo elenco puoi selezionare alcuni elementi che verranno aggiunti alla tua “selezione” . Gli oggetti aggiunti alle tue selezioni vengono memorizzati nella tua sessione e sono raggiungibili dal menu in alto a destra. Puoi eseguire metriche che mirano specificamente agli oggetti nella tua selezione e avere una dashboard specifica per i tweet nella tua selezione.
Attenzione che l’elenco dei risultati è impaginato: potrebbe essere necessario aumentare il numero di risultati per pagina o navigare tra le pagine per selezionarli tutti.
È anche possibile creare elenchi permanenti di utenti e tweet . A tal fine, aggiungere elementi alla selezione e quindi creare un elenco o aggiungerli a un elenco esistente. In questo modo è possibile gestire diversi sottogruppi sugli elementi ed eseguire analisi specifiche su di essi.
Metriche di calcolo
Informazioni sulle metriche
In qualsiasi momento, durante e dopo il processo di streaming, è possibile “calcolare metriche” (fare analisi personalizzate) utilizzando tutti – o un sottoinsieme di – i tweet e gli utenti raccolti.
A partire da ora, le metriche possono essere calcolate su tweet, utenti, uno qualsiasi di questi o entrambi. Le metriche possono essere semplici come:
- quali utenti hanno un’immagine del profilo predefinita
- calcolare la distribuzione dei tweet nel tempo
- selezionare e contrassegnare gli utenti che hanno un formato nome personalizzato (es: nel modulo Username1234568)
a più complessi, come:
- creare un grafico interattivo basato sulle interazioni tra i tweet e cercare di identificare le comunità
- creare un grafico come sopra sulla relazione (segue – seguito da) di un insieme limitato di utenti.
Le metriche possono (e molto probabilmente lo saranno) essere estese , poiché è abbastanza semplice implementarle con un po ‘di Python. Ulteriori informazioni sulle metriche nelle sezioni Metriche .
Per calcolare una metrica, seleziona prima un tipo di target . Come spiegato nel paragrafo “Esplorazione di tweet e utenti”, è possibile selezionare utenti o tweet tramite la funzione “esplora” nella dashboard della campagna, per aggiungerli alla propria selezione .
Una volta completata la selezione, puoi scegliere quale metrica calcolare. Le metriche potrebbero avere parametri personalizzati da compilare. Tutte le metriche richiedono un nome e, facoltativamente, una descrizione.
Infine, fare clic sul pulsante “Avvia calcolo” per aggiungere la metrica alla coda di esecuzione.
L’esecuzione delle metriche è implementata come “attività in background”. Come con gli streamer, a seconda delle tue preferenze, puoi utilizzare lo stesso processo per gestire gli streamer e il calcolo delle metriche oppure puoi tenerli separati. In quest’ultimo scenario, devi aprire due terminali ed eseguire i seguenti comandi:
python manage.py process_tasks --queue operations
python manage.py process_tasks --queue metrics-computation
Una volta che la metrica ha terminato il suo calcolo, verrà visualizzata nella dashboard della campagna (oltre che nella dashboard di selezione, a condizione che non la si cancelli). Tieni presente che alcuni calcoli sono molto rapidi, altri richiedono molto più tempo.
Puoi anche decidere di calcolare le metriche per l’intera campagna . La procedura è molto simile, ma puoi selezionare la metrica da calcolare direttamente dal dashboard della campagna. Questo può essere fatto più di una volta, poiché i tweet continuano ad arrivare e il risultato potrebbe cambiare nel tempo.
Link https://github.com/sowdust/tafferugli
Doc e codice: https://doc.tafferugli.io/usage/