web-scraping-caotico/README.md

91 lines
2.8 KiB
Markdown

# 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)