# Anche i robot navigano il web ~web scraping, estrarre informazioni da Internet~ ## intro - cosa c'e' sull'internet - informazioni - risorse - servizi - web vs web browser - analisi di una richiesta HTTP - dimostrazione con cUrl - estrazione - superficie: panoramica possibili utilizzi - tecniche - ostacoli e limitazioni - tecnico-pratiche - legali* - inserimento - superficie: panoramica possibili utilizzi - tecniche e ostacoli come da estrazione - motivazioni - pratiche - reperibilita' offline - far sopravvivere la fruizione ai provider attuali dei contenuti - costruzione di soluzioni utente-centriche - politiche - liberare le informazioni - artistiche - manipolare le informazioni per caricarle di altro significato (*) need halp ## pratica 1: cUrl ## (?)pratica 1.5: greasemonkey ## pratica 2: scrapy ## pratica 3: PhantomJs/CasperJs ## (???)pratica 4: selenium/watir **tbd: obiettivi scraping per workshop** ___ #cosa c'e' sull'internet - informazioni - servizi - persone che ne fruiscono ### Informazioni Le informazioni descrivono la realta' in cui viviamo e sono la base su cui prendiamo delle decisioni. Sono facili da quantificare. Sono facili da manipolare. #### Tipi di informazione che si trova sull' internet (in ordine dalla piu' alla meno rara) - edita o elaborata - non elaborata - metainformazione ### Manipolare l'informazione *parabola: Giangiorgino si sveglia tutte le mattine per andare a prendere lo stesso treno che -di tanto in tanto- non arriva alla stazione per l'orario previsto. Quando questo succede Giangiorgino deve correre per prendere un autobus e due tram se vuole sperare di arrivare a destinazione entro la stessa ora -cosa che solitamente non riesce a fare-. Giangiorgino, pensandoci su, capisce di avere le seguenti opzioni: - svegliarsi mezz'ora prima ogni giorno - scaricare l'ultima App Trenissimissimo che gli invia ogni ora di ogni giorno notifiche in tempo reale sullo stato dei 36 treni circolanti sulla tratta - **manipolare l'informazione*** Manipolare l'informazione significa modificarla, filtrarla e combinarla con altra informazione al fine di darle nuovo significato. *Giangiorgino vuole solo sapere se il *suo* treno arriverà in ritardo, e lo vuole sapere prima di fissare la sveglia* Ecco quindi che il processo ripetitivo di: - a una data ora visitare il sito trenissimissimo.com - verificare lo stato di percorrenza del treno - scegliere il percorso ottimale - fissare la sveglia di conseguenza Può essere facilmente delegato a un robot, un processo che una volta avviato è in grado di proseguire la sua esecuzione senza l'intervento di un umano. Nell'internet, esistono diversi tipi di (ro)bot che navigano la rete in cerca d'informazione, tra cui: - motori di ricerca - aggregatori - id scanner (i.e. EC2 bot)