Update 'README.md'
This commit is contained in:
parent
c329f407d6
commit
47f68fab98
39
README.md
39
README.md
|
@ -64,7 +64,7 @@ Le informazioni descrivono la realta' in cui viviamo e sono la base su cui prend
|
|||
|
||||
#### 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):
|
||||
|
||||
|
@ -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
|
||||
|
||||
### 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.
|
||||
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*
|
||||
- **manipolare l'informazione*** - scrivere un programma che ogni giorno decide sulla base dello stato dei treni l'ora a cui puntare la sveglia
|
||||
|
||||
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)
|
||||
|
||||
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.
|
||||
|
||||
####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)
|
Loading…
Reference in New Issue
Block a user