Burocrati, Amministratori, wegan
509
contributi
(sezione appunti nerd) |
m (→Codifica: pseudo-fix) |
||
(10 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 1: | Riga 1: | ||
'''Tuipi''' è un programmello | '''Tuipi''' è un simpatico programmello [[Tecnopolitica|tecnopolitico]] sbarazzino, che sviluppiamo connettere le lotte di piazza con la Rete. Scritto prevalentemente in linguaggio Python, Tuipi utilizza le [https://dev.twitter.com/overview/api API di Twitter] interfacciandosi con la libreria [http://docs.tweepy.org tweepy]. | ||
= | Il codice sorgente di Tuipi [https://git.eigenlab.org/rakk/tuipi si trova] sul nostro repository [[GitLab|Git]]; devi registrarti e poi chiedere di essere inseritx nel gruppo di sviluppo. Questa precauzione (che sembra contrastare con i princìpi di [[OpenSource|apertura]]) ci è necessaria per evitare l'assorbimento dei nostri algoritmi da parte di twitter e altri [[Big data]], che abbasserebbe drasticamente l'efficacia del nostro lavoro; speriamo di giungere presto ad un livello di maturità del codice e di condivisione di valori e scopi nel suo utilizzo che ci permetta di fornire accesso incondizionato a tuttx. | ||
Un | |||
* non ti piace lavorare; | = Creare un bot = | ||
Un robot<ref>Dallo slavo ''rabota'', "servitù".</ref> è una macchina che lavora al posto tuo. Probabilmente vuoi creare altri account Twitter fittizi (bot) '''diversi''' dal tuo account personale perché | |||
* non ti piace lavorare, e ti alletta l'idea di una macchina che ti permette di ottenere grandi risultati con poco sforzo; | |||
* Twitter [https://support.twitter.com/articles/93870 non vede di buon occhio] l'attività robotica e a volte può sospendere, bloccare o terminare degli account che considera sospetti: non vuoi che questo succeda col tuo account personale. | * Twitter [https://support.twitter.com/articles/93870 non vede di buon occhio] l'attività robotica e a volte può sospendere, bloccare o terminare degli account che considera sospetti: non vuoi che questo succeda col tuo account personale. | ||
Inoltre Twitter limita il numero di operazioni che è possibile fare in un quarto d'ora | Inoltre Twitter [https://dev.twitter.com/rest/reference/get/application/rate_limit_status limita] il numero di operazioni che è possibile fare in un quarto d'ora attraverso le API; Tuipi però supera questa limitazione supportando un numero arbitrario di account gestiti in sincrona armonia con i loro limiti attuali. La partecipazione di tanti account aumenta la "potenza di fuoco" durante un [[tweetstorm]] e migliora anche la capacità di analisi che puoi sviluppare; ma ti rende anche più difficile gestire tanti account con precisione: comincia prima usando un solo robot, e poi aumenta gradualmente senza farti prendere la mano. | ||
[[File:Twitter-profile-rakk g.jpg|miniatura|Il profilo [http://twitter.com/rakk_g @rakk_g] è gestito da 14 persone, più o meno umane.]] | |||
Ecco una procedura per attivare un robot; non è l'unica possibile e ha delle criticità (v. sotto). | Ecco una procedura per attivare un robot; non è l'unica possibile e ha delle criticità (v. sotto). | ||
Vai da un rivenditore [http://www.lycamobile.it/it/howtouse Lyca]. Le stazioni ferroviarie sono un ottimo posto in cui cercare perché vi si concentrano attorno negozi col logo Lyca esposto fuori; inoltre in quelle più grandi e nei giorni feriali (specialmente da tarda primavera fino a tutta l'estate) ci puoi trovare gli operatori Lyca con la pettorina che smerciano proprio quello che interessa a te: le schede SIM a zero euro! I negozianti in una bottega affiliata a Lyca saranno molto più restii a darti le schede a zero euro, preferiranno piuttosto venderti quelle con già del credito dentro, facendoti pagare. Le schede con zero euro vengono shippate in un cartoncino blu con scritto grosso sopra "0 €" e sono aggratis. | Vai da un rivenditore [http://www.lycamobile.it/it/howtouse Lyca]. Le stazioni ferroviarie sono un ottimo posto in cui cercare perché vi si concentrano attorno negozi col logo Lyca esposto fuori; inoltre in quelle più grandi e nei giorni feriali (specialmente da tarda primavera fino a tutta l'estate) ci puoi trovare gli operatori Lyca con la pettorina che smerciano proprio quello che interessa a te: le schede SIM a zero euro! I negozianti in una bottega affiliata a Lyca saranno molto più restii a darti le schede a zero euro, preferiranno piuttosto venderti quelle con già del credito dentro, facendoti pagare. Le schede con zero euro vengono shippate in un cartoncino blu con scritto grosso sopra "0 €" e sono aggratis.<ref name="sparite0euro">Da qualche tempo è diventato praticamente impossibile reperire le schede a zero euro; si trovano solo quelle da cinque.</ref> | ||
Quando hai in mano le schede ancora non le puoi usare, devi aspettare che l'operatore te le attivi: normalmente ci vogliono meno di 24 ore. | Quando hai in mano le schede ancora non le puoi usare, devi aspettare che l'operatore te le attivi: normalmente ci vogliono meno di 24 ore. | ||
Riga 18: | Riga 22: | ||
Ti serve anche aprire una nuova casella email su [https://accounts.google.com/SignUp?service=mail Gmail], da utilizzare nella fase di registrazione dei nuovi account su Twitter (v. sotto). Di buono c'è che puoi utilizzarne una sola per tutti, con un trucchetto: se p.e. hai aperto una casella con indirizzo provolone@gmail.com puoi usarla per registrare il primo account, poi aggiungere dei punti per i successivi: p.rovolone@gmail.com per il secondo, pr.ovolone@gmail.com per il terzo... p.r.o.v.o.l.o.n.e@gmail.com per il duecentocinquantaseiesimo. Tutti gli indirizzi Gmail ottenuti aggiungendo dei punti confluiscono nella stessa casella. | Ti serve anche aprire una nuova casella email su [https://accounts.google.com/SignUp?service=mail Gmail], da utilizzare nella fase di registrazione dei nuovi account su Twitter (v. sotto). Di buono c'è che puoi utilizzarne una sola per tutti, con un trucchetto: se p.e. hai aperto una casella con indirizzo provolone@gmail.com puoi usarla per registrare il primo account, poi aggiungere dei punti per i successivi: p.rovolone@gmail.com per il secondo, pr.ovolone@gmail.com per il terzo... p.r.o.v.o.l.o.n.e@gmail.com per il duecentocinquantaseiesimo. Tutti gli indirizzi Gmail ottenuti aggiungendo dei punti confluiscono nella stessa casella. | ||
== Creare un nuovo account Twitter, registrare una app e connetterci Tuipi == | |||
Usa un browser in modalità "privato" o "incognito" o quel che è, senza altre schede aperte. Non loggarti a Facebook, Gmail o altro. [https://twitter.com/signup Apri un nuovo account] su Twitter. Fai le seguenti operazioni, ove possibile in un ordine casuale diverso da quello qui sotto: | Usa un browser in modalità "privato" o "incognito" o quel che è, senza altre schede aperte. Non loggarti a Facebook, Gmail o altro. [https://twitter.com/signup Apri un nuovo account] su Twitter. Fai le seguenti operazioni, ove possibile in un ordine casuale diverso da quello qui sotto: | ||
* scegli uno ''screen_name'' (più corto possibile), un nome utente e una password robusta; | * scegli uno ''screen_name'' (più corto possibile), un nome utente e una password robusta; | ||
Riga 30: | Riga 34: | ||
* cambia le immagini del profilo e dell'intestazione: sceglile ganze. | * cambia le immagini del profilo e dell'intestazione: sceglile ganze. | ||
Occhei, supponiamo di aver appena creato un utente chiamato ''Guglielmo Libri Carucci dalla Sommaja'' e screen_name ''@GCSbookz''; dobbiamo dare il numero di telefono di Guglielmo a Twitter. Prendi una schedina Lyca e schiaffala nel cellulare, accendilo e aspetta qualche minuto. Se l'operatore ti ha attivato la scheda, ti arriveranno dei messaggini di benvenuto. Digita *132# oppure 97# e poi chiama, ti apparirà un messaggio col numero telefonico di quella scheda. Inseriscilo nella [https://twitter.com/settings/devices pagina dei telefoni] di Twitter e aspetta l'SMS di conferma, che poi va fornito alla stessa pagina. | === Conferma cellulare con una SIM Lyca === | ||
Occhei, supponiamo di aver appena creato un utente chiamato ''Guglielmo Libri Carucci dalla Sommaja'' e screen_name ''@GCSbookz''; dobbiamo dare il numero di telefono di Guglielmo a Twitter. Prendi una schedina Lyca e schiaffala nel cellulare, accendilo e aspetta qualche minuto. Se l'operatore ti ha attivato la scheda, ti arriveranno dei messaggini di benvenuto. Digita <code>*132#</code> oppure <code>97#</code> e poi chiama, ti apparirà un messaggio col numero telefonico di quella scheda. Inseriscilo nella [https://twitter.com/settings/devices pagina dei telefoni] di Twitter e aspetta l'SMS di conferma, che poi va fornito alla stessa pagina. | |||
=== Registrare una app e ottenere le credenziali per la API === | |||
Ora dovrai registrare una app, un passaggio formale per permetterti di gestire il nuovo account tramite Tuipi. | Ora dovrai registrare una app, un passaggio formale per permetterti di gestire il nuovo account tramite Tuipi. | ||
Senza fare il logout da Twitter vai a | Senza fare il logout da Twitter vai a questo indirizzo <code>[https://apps.twitter.com/ https://apps.twitter.com/]</code> per registrare una nuova applicazione (non dovresti averne nessuna già attiva al momento). Scegli un nome (non "Tuipi"), una descrizione decente, un sito web (scegli un sito pertinente, p.e. [http://www.tweepy.org/ questo], [http://www.stats.ox.ac.uk/~snijders/siena/ questo], [http://www.insna.org/ questo], [https://tweetdeck.twitter.com/ questo], [http://gephi.org/ questo], [https://www.python.org/ questo], [http://www.xda-developers.com/ questo], [http://developer.ubuntu.com/community/ questo], [http://www.sciencedirect.com/science/journal/03788733 questo] o [http://www.tandfonline.com/toc/gmas20/current quest'altro]) e accetta le condizioni. | ||
Accertati che l'applicazione appena creata abbia i permessi in ''Lettura, scrittura e messaggi diretti'', poi vai alla pagina "Chiavi e token d'accesso" e prenditi le ''Consumer Key'' (API Key + API Secret) e i ''Access Token'' (Access Token + Access Token Secret | Accertati che l'applicazione appena creata abbia i permessi in ''Lettura, scrittura e messaggi diretti'', poi vai alla pagina "Chiavi e token d'accesso" e prenditi le ''Consumer Key'' (API Key + API Secret) e i ''Access Token'' (Access Token + Access Token Secret)<ref>Forse devi generarli col bottone se non li hai già.</ref>. Queste quattro stringhe vanno fornite a Tuipi nei dizionari che si trovano in <code>config/costanti.py</code>. | ||
Finito: tu e il tuo nuovo robot siete pronti all'azione. | |||
=== | === Suggerimenti === | ||
Se vorrai salvare (com'è probabile, per semplificarsi la vita) le informazioni circa | Se vorrai salvare (com'è probabile, per semplificarsi la vita) le informazioni circa | ||
* le schede SIM: i numeri telefonici associati, i PUK, le utenze Twitter associate... | * le schede SIM: i numeri telefonici associati, i PUK, le utenze Twitter associate... | ||
Riga 45: | Riga 51: | ||
è comodo usare una [https://en.wikipedia.org/wiki/Password_manager applicazione] come [http://keepass.info/ Keepass] per criptare ed organizzare queste informazioni. | è comodo usare una [https://en.wikipedia.org/wiki/Password_manager applicazione] come [http://keepass.info/ Keepass] per criptare ed organizzare queste informazioni. | ||
== Mi hanno bloccato/sospeso/terminato un account! == | |||
Questa sezione è ancora da scrivere. | Questa sezione è ancora da scrivere. | ||
= Come usare Tuipi = | |||
Non abbiamo ancora scritto un manuale, però il codice è ben documentato: usa la funzione <code>help()</code> su un oggetto per capire cosa è, come funziona, come usarlo, etc. | |||
Se non si vogliono manipolare gli script a mano, Tuipi offre un'interfaccia interattiva semplificata con lo script <code>simple.py</code>; per lanciarla apri un terminale, spostati (con il comando <code>cd</code>) nella directory dove risiede il programma e lancia lo script in modo interattivo col comando <code>python -i simple.py</code>: | |||
<pre> | |||
gianna@epta ~/src/tuipi (git)-[master] % python -i simple.py | |||
Bevenut@, gianna! | |||
Per abortire un prompt (compresa la console) invia EOF (in genere, CTRL+D), | |||
mentre con CTRL+C puoi abortire un comando; fallo solo in caso di necessità. | |||
Sto leggendo ...50%...99%. : disponi di 842M di dati in 47 file (12 profili, 7 stati, 6 HTs, | |||
21 grafi, 1 timeseries). | |||
---------------------------------- | |||
-[[ TUIPI - menu prinpiciale ]]- | |||
API: gnna1475 DM_analisys | |||
Profili: @Iddio @laMadonna @eigenLab_Pisa | |||
Stati: | |||
Hashtags: #NonUnaDiMeno #NoBorders | |||
--------------------------------- | |||
A ) Connetti interfacce | |||
RL) Calcola munizioni rimaste (rate limits) | |||
S ) Carica la Sandbox (as sb) | |||
U ) Carica batteria di profili | |||
Ui) Inserisci a mano un utente (screen_name o user_id) | |||
Um) Mostra utenti | |||
Ud) Rimuovi duplicati utenti | |||
Uc) Ripulisci lista utenti | |||
T ) Carica un file di tweet | |||
H ) Carica un file di hashtags | |||
C ) Carica un file di commenti | |||
L ) Carica un file di links | |||
G ) Carica un grafo | |||
R ) Esplora relazioni | |||
Ts) Calcola timeseries | |||
Sm) Strategia monitor/select/spread | |||
FS) Griglia FSNR | |||
Co) Torna alla console | |||
Scelta: | |||
</pre> | |||
== Problemi == | |||
Per usare Tuipi hai bisogno di Python, versione 3 o superiore. | |||
=== Codifica === | |||
Se ottieni un errore simile a <code>tweepy.error.TweepError: Failed to send request: 'str' object has no attribute 'decode'</code>, o altri segnali che qualcosa di malvagio sta accadendo a causa della codifica del testo, una cosa che talvolta funziona (p.e. con la distribuzione Debian) è installare la libreria Tweepy attraverso pip, anziché tramite il pacchetto sui repository. | |||
= Appunti sparsi = | |||
Tuipi consta di un tot di scriptini in Python che usano la libreria [http://tweepy.readthedocs.io tweepy], che a sua volta si interfaccia con la [https://dev.twitter.com/ API di Twitter]. Settando adeguatamente i permessi, funziona sia in lettura (per analisi, statistiche, preparazione delle strategie, etc.) che in scrittura (twittando, ritwittando, mettendo il cuoricino, DM, follow/unfollow, media upload, cambio impostazioni, etc.); si può usare sia l'interfaccia REST che quella di streaming, quest'ultima molto utile nelle applicazioni in tempo reale. | Tuipi consta di un tot di scriptini in Python che usano la libreria [http://tweepy.readthedocs.io tweepy], che a sua volta si interfaccia con la [https://dev.twitter.com/ API di Twitter]. Settando adeguatamente i permessi, funziona sia in lettura (per analisi, statistiche, preparazione delle strategie, etc.) che in scrittura (twittando, ritwittando, mettendo il cuoricino, DM, follow/unfollow, media upload, cambio impostazioni, etc.); si può usare sia l'interfaccia REST che quella di streaming, quest'ultima molto utile nelle applicazioni in tempo reale. | ||
( da | == Altre risorse == | ||
* Tuipi automatizza il possibile, ma non tutto; ha bisogno comunque di una supervisione umana (tranne che per le funzioni di calendarizzazione) e la qualità dei risultati finali dipende molto dalla cura con cui si preparano i dati di partenza. È utile farsi un'idea della dinamica che si sta affrontando anche con altri strumenti come [[Gephi]] o [https://support.twitter.com/articles/354008 la ricerca avanzata] di Twitter. | |||
* Un [https://dev.twitter.com/resources/twitter-libraries elenco] di librerie supportate da Twitter | |||
* Curl esteso con OAuth: [https://github.com/twitter/twurl qui] | |||
* [https://dev.twitter.com/rest/reference/post/media/upload media upload] e [https://github.com/tweepy/tweepy/issues/724 upload multipli] | |||
* [https://dev.twitter.com/rest/reference/get/trends/place reference] per l'acquisizione geolocalizzata dei trending topics | |||
= Wishlist = | |||
Ci sono delle funzioni che desideri? Scrivilo quih! | |||
== | = Note = | ||
<references /> | |||
[[Categoria:Tecnopolitica]] | |||
[[Categoria:HowTo]] |