Algoritmi per reti
Ottalogo per il progetto, le regole da seguire per svolgere lo spider.
Nota: Il non attenersi a queste regole può comportare l'esclusione dal corso,
in tempi peggiori sareste stati spediti all'inferno.
- Non prelevare mai più di un documento per volta dallo stesso "sito"
(due documenti appartengono allo stesso sito se le loro URL
iniziano con lo stesso valore nella porzione dell'host [la stringa
contenuta tra la seconda e la terza occorrenza del carattere '/'],
o, per essere ancora più restrittivi, se le due porzioni dell'host
risolvono sullo stesso indirizzo IP [numerico]). Attendere poi
alcuni secondi tra due richieste successive allo stesso sito.
- Non prelevare mai più di una volta nello stesso ciclo di crawl lo
stesso documento (potrebbe avvenire per errore, o per cattiva
politica di suddivisione dei documenti tra i vari spider, ma non
deve succedere).
- Rispettare il "Robot Exclusion Protocol" (almeno seguendo le
indicazioni del file "/robots.txt" [che va prelevato al più una
volta per sito, vedi regola 2)], ma se possibile anche seguendo le
indicazioni contenute negli appositi elementi META delle pagine).
- Disporre una pagina web publicamente accessibile che illustri le
finalità del crawl (una per ogni gruppo di lavoro, o una collettiva
per tutti i gruppi del corso). Tale pagina deve dare istruzioni
chiare su chi contattare (per email, o anche telefono) in caso di
problemi (ad esempio, per indicare che si desidera essere esclusi
dal crawl). Nella pagina inserite un link a questa pagina
o copiatene il testo.
- Rendere nota la propria identità attraverso lo header del
protocollo HTTP denominato 'User-Agent' che deve contenere almeno
l'indirizzo di email e della pagina web, come descritti al punto
4).
- Rispondere in modo rapido e chiaro alle richieste pervenute
all'indirizzo fornito al punto 5), in particolare, rispettare senza
discussione le richieste di esclusione dal crawl da parte dei siti
esplorati (senza imporre ai relativi amministratori l'uso del
protocollo "Robot Exclusion Protocol").
- Informare l'infrastruttura di rete dell'Ateneo del progetto, delle
sue finalità e del carico previsto per la rete (con indicazione
delle fasce orarrie e relative quantità di traffico di rete
previste).
- Rispettare con precisione le richieste sul contenimento dell'uso di
banda da parte dell'infrastruttura di rete che si visita. Ad esempio,
potrebbe essere richiesto di limitare il crawl ad una specifica
fascia oraria (ad es., notturna).
Alcuni riferimenti utili
Per la parte relativa al protocollo HTTP si veda
http://www.w3.org/Protocols/
Ad esempio, riguardo all'"User-Agent", si veda
http://www.w3.org/Protocols/HTTP/HTRQ_Headers.html#user-agent
che definisce il formato standard per tale header.
Per la parte relativa all'esclusione di pagine si veda
http://www.robotstxt.org/
In particolare, per il "Robots Exclusion Protocol" e le "Robots META
tag" si veda
http://www.robotstxt.org/wc/exclusion.html
che contiene le specifiche sul formato del file robots.txt e degli
elementi META.