Nei giorni scorsi mi è ricapitato tra le mani un libro che avevo acquistato un po’ di tempo fa: “Webbot e spider. I ragni della rete.” edito da Apogeo. Si tratta di un testo del 2007, traduzione del libro americano “Webbots, Spiders, and Screen Scrapers” della casa editrice No Starch.
Quando uscì la versione italiana rimasi stupito poichè si trattava un argomento in apparenza abbastanza di nicchia, trattato da pochissimi libri in lingua inglese tra cui Spidering Hacks della O’reilly.
Il presupposto da cui parte l’autore (Michael Schrenk) è che i browser per quanto sempre più potenti e ricchi di plugin non sono sempre la soluzione ottimale per gestire le informazioni online: a volte sono necessari strumenti più “affilati”.
Entrano in gioco crawler, spider, webbot, agenti software, screen scrapers, software che, sia pure con sfumature leggermente diverse, sono in grado di:
- reperire informazioni online utilizzando diversi protocolli
- automatizzare operazioni complesse
Il libro propone, come linguaggio per la scrittura di spider e webbot, l’accoppiata: PHP e cURL. La scelta di PHP in questo contesto può apparire sicuramente strana, dato che PHP nasce come linguaggio di scripting da includere nelle pagine web. Tale scelta è però motivata dalla semplicità di utilizzo del linguaggio e dalla vasta libreria. Inoltre, come sostiene l’autore, i limiti nell’utilizzo di PHP in questo contesto vengono in larga parte superati utilizzando la libreria PHP/cURL, particolarmente efficiente per questi scopi.
Il testo tratta un po’ tutti i vantaggi degli spider e webbot sia dal punto di vista degli sviluppatori, sia dal punto di vista dei manager.
Per gli sviluppatori rappresentano un’opportunità per acquisire nuove competenze e nel contempo sono anche una sfida per via dell’imprevedibilità (basti pensare al parsing dei dati).
Nei primi capitoli vengono proposte idee anche molto creative sui possibili impieghi e successivamente viene affrontata la parte tecnologica: PHP, cURL e la libreria messa a punto dall’autore e scaricabile dal suo sito web. Sito che prevede pagine realizzate appositamente come test per gli script del libro (i lettori possano così testare senza problemi gli esempi).
Le librerie messe a punto dall’autore contemplano funzioni per il download e per parsing dei dati (reperimento stringhe, gestione link etc).
Vengono poi trattati argomenti come l’invio automatico di form, la gestione di grandi quantità di dati. Vengono passate poi in rassegna applicazioni comuni di utilizzo per webbot quali:
- monitorare i prezzi
- catturare immagini
- verificare link
- la navigazione anonima
- valutare il rank ed il posizionamento delle pagine sui motori di ricerca
- aggregatori di notizie ed informazioni
- FTP per prelevare dati con l’utilizzo di questo protocollo
- prelevare dai newsgroup via NNTP
- leggere e spedire mail con POP3 e SMTP
Conclude il libro una serie di capitoli su tematiche considerate più avanzate come:
- procurement webbot (webbot che acquistano per procura)
- webbot che utilizzino la crittografia (SSL)
- considerazioni sull’autenticazione
- gestione dei cookie
Le considerazioni finali spiegano come scrivere webbot che:
- non diano nell’occhio
- siano affidabili
- possano gestire parsing di dati non ben formattati
- considerazione legali sullo spidering
- come realizzare siti web amichevoli per gli spider (considerazioni SEO e visione lato webmaster)
La scheda del libro sul sito Apogeo dove sono presenti anche i codici sorgenti del libro (che sono anche sul sito dell’autore) e il link per leggere parte del libro su google books.
La pagina della versione americana: Webbots, Spiders, and Screen Scrapers
Il sito dell’autore: Micheal Schrenk