Update 'README.md'

This commit is contained in:
notisset 2017-11-10 00:00:32 +01:00
parent c329f407d6
commit 47f68fab98

View File

@ -64,7 +64,7 @@ Le informazioni descrivono la realta' in cui viviamo e sono la base su cui prend
#### Manipolazione #### Manipolazione
La manipolazione dell'informazione la carica di valore, la spiega, la rende fruibile. Invormazioni di tipo diverso necessitano tipi di manipolazione diversi per acquistare valore intrinseco. La manipolazione dell'informazione la carica di valore, la spiega, la rende fruibile. Invormazioni di tipo diverso necessitano tipi diversi di manipolazione per acquistare valore intrinseco.
Ad esempio un log di Apache (server web): Ad esempio un log di Apache (server web):
@ -76,17 +76,13 @@ per assumere significato deve essere contestualizzato con altre informazioni su:
- altri log a cui associarlo per riprodurre la history di navigazione dell'utente - altri log a cui associarlo per riprodurre la history di navigazione dell'utente
### Manipolare l'informazione ### Manipolare l'informazione
*parabola: *storiella:
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. 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-. 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: Giangiorgino, pensandoci su, capisce di avere le seguenti opzioni:
- svegliarsi mezz'ora prima ogni giorno - 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 - 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*** - scrivere un programma che ogni giorno decide sulla base dello stato dei treni l'ora a cui puntare la sveglia
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: Ecco quindi che il processo ripetitivo di:
@ -99,9 +95,30 @@ Può essere facilmente delegato a un bot, un processo che una volta avviato è i
Per fare questo è necessario individuare le risorse accessibili tramite la rete che rendano disponibile, in formato più o meno elaborato le informazioni sullo stato dei treni in circolazione. (Giangiorgino ha già controllato, il sito trenissimissimo.com fornisce questo servizio) Per fare questo è necessario individuare le risorse accessibili tramite la rete che rendano disponibile, in formato più o meno elaborato le informazioni sullo stato dei treni in circolazione. (Giangiorgino ha già controllato, il sito trenissimissimo.com fornisce questo servizio)
Nell'Internet, esistono diversi tipi di scraper bot che navigano la rete in cerca d'informazione, tra cui:
- motori di ricerca
- aggregatori
- id scanner (i.e. EC2 bot)
Di seguito vedremo alcune delle tecniche che possiamo utilizzare per crearne uno. Di seguito vedremo alcune delle tecniche che possiamo utilizzare per crearne uno.
####Prerequisiti
- python con i seguenti moduli installati
- requests
- beautiful soup (bs4)
Il sito da cui andremo ad estrarre le informazioni e' il seguente:
```http://viaggiatreno.it/vt_pax_internet/mobile```
####Esecuzione
Il punto di partenza e' quindi creare un nuovo file che chiameremo `scraper.py` con il seguente contenuto:
#! /usr/bin/env python
import requests
headers = requests.utils.default_headers()
headers.update({"User-Agent": "Mozilla/5.0"})
r = requests.get('http://viaggiatreno.it/vt_pax_internet/mobile', headers=headers)
print(r.text)