Spider e valutazione dell’autorizzazione all’accesso in robots.txt 1/3
Andrea Murru | 15 Luglio 2010Nella realizzazione di uno spider, uno degli aspetti che devono essere garantiti, è il rispetto della volontà del proprietario di un sito, riguardo all’uso dei dati contenuti in esso.
Per quanto esistano degli standard più completi e complessi ( in particolare l’ACAP ), il metodo più utilizzato per la restrizione dell’accesso ad un sito, è sicuramente l’utilizzo di un file di nome robots.txt nella home del sito.
Il protocollo utilizzato è estremamente limitato e consente solamente di impedire (completamente) a tutti o ad uno User-Agent particolare l’accesso ad una o più risorse o cartelle del sito. Non è possibile limitare l’utilizzo delle informazioni ( ad esempio l’elaborazione automatica, la possibilità di visualizzare i dati senza linkare direttamente la pagina da cui sono tratti, la memorizzazione, l’aggiornamento etc ). Non è possibile consentire esplicitamente l’accesso ( ma solo proibirlo ). Non è possibile imporre delle restrizioni rispetto ad altre caratteristiche dello User-Agent come tecnologie supportate ( Javascript ad esempio ) o provenienza geografica, IP, organizzazione, etc. Non è possibile neppure utilizzare uno stesso files per domini o sotto-domini differenti.
Inoltre non esiste uno standard di riferimento e ci sono alcune estensioni ( come Request-rate e Visit-time o l’utilizzo di wildcard per la selezione dello User-Agent o delle risorse ) che sono supportate solo da alcuni bot, ma non da altri.
Anche dalla versione “base” è però possibile stabilire molte informazioni ed è quindi doveroso tentare di assecondare almeno quelle.
La mia è una considerazione di buon senso più che un vincolo legale o morale: non è detto che rispettare i vincoli espressi di robots.txt garantisca completamente da questioni legali, né al contrario non rispettarle sia di sicuro contro la volontà del “proprietario” del sito (che magari ha solo impostato più o meno inconsciamente delle restrizioni più forti di quello che voleva o magari, se interpellato, potrebbe sicuramente concedere l’accesso). Particolare a riguardo è il caso di Pete Warden che è stato costretto a cancellare il db degli utenti che aveva raccolto da facebook, tramite uno spider che rispettava robots.txt.
In sostanza mi sembra ragionevole pensare (entro certi limiti) che i dati presenti su un sito siano in qualche modo del proprietario del sito, anche se non esprime chiaramente le proprie intenzioni tramite un determinato strumento (robots.txt ad esempio) o le esprime in modo non accurato.
Questioni da legali, comunque… veniamo al codice: come realizzare un’analizzatore di robots.txt in JAVA ?