Tuipi: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
11 869 byte aggiunti ,  15 mar 2017
m
→‎Codifica: pseudo-fix
(scheletro bozza di tutorial)
 
m (→‎Codifica: pseudo-fix)
 
(12 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
'''Tuipi''' è un programmello simpatichello tecnopolitico sbarazzino, ma fa è 'na mmerda da configurare e usare, al momento. Speriamo migliori.
'''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].


== Creare robot ==
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.
Vai dal tuo rivenditore Lyca di fiducia, godi.


=== Yeah ===
= 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.
 
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).
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.
 
'''Occhio''': questo metodo '''non''' garantisce alcuna riservatezza perché per la legge italiana si devono dare un documento d'identità e il codice fiscale per avere una scheda SIM.
Di buono c'è che Lyca ti può dare fino a 5 schede SIM con un documento. Dopo qualche tempo ne prendi altre 5 in un altro negozio e chiedi che ti disattivi prima le vecchie cinque; puoi anche riconsegnargliele a quel punto.
 
Occhei, ora hai una SIM che utilizzerai con '''un solo''' account robotico.
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:
* scegli uno ''screen_name'' (più corto possibile), un nome utente e una password robusta;
* non collegarlo a Gmail ne' a Facebook ne' altre schifezze, non dargli (ancora) numeri di telefono;
* seleziona un sottoinsieme degli account consigliati da seguire. Non seguirli tutti ma una manciata tra cui gli evergreen tipo il papa ci sta bene. Concludi la registrazione.
* fai un tweet;
* twitta taggando qualcuno;
* segui qualcuno;
* ritwitta uno status;
* scrivi una bio, scegli una locazione geografica (anche fittizia, tipo "Legoland" o "Eta Carinae"), scegli una data di compleanno;
* cambia le immagini del profilo e dell'intestazione: sceglile ganze.
 
=== 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.
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)<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
* le schede SIM: i numeri telefonici associati, i PUK, le utenze Twitter associate...
* la casella Gmail: username, password, utenze Twitter associate...
* gli account Twitter: screen_name, ID, password, credenziali della app per accedere alla API...
è 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.
 
= 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.
 
== 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]]
509

contributi

Menu di navigazione