02 febbraio 2009

Web Crawling facile?

Il web crawling non è di certo un argomento poco conosciuto. Esistono molteplici nomi per riferirsi a questa tipologia di software: “Webbot”, “Spider” o anche “Crawler”, in pratica un sistema in grado di navigare automaticamente un grafo di link secondo un algoritmo ben definito, di selezionare ed elaborare le informazioni contenute nelle pagine navigate.

Esistono diversi sistemi di crawling open source, molti sono studiati appositamente per essere integrati con motori di ricerca e dispongono quindi di algoritmi di ranking complessi. I principali progetti open source sono:
Nutch: è un motore di ricerca open source basato su lucene, il crawler (di tipo più statistico) che lo compone è stato scritto ad-hoc, è un sistema distribuito e utilizza l'approccio map-reduce, il suo file system distribuito è successivamente diventato un progetto open source chiamato hadoop. Nutch inizialmente mantenuto come apache incubator, diventò successivamente sotto progetto lucene.
Heritrix: 1.14.0 è un web crawler anch'esso open source, l'ultima release risale all’Aprile 2008, viene rilasciato in licenza LGPL 2.1, viene utilizzato per lo più come crawler di archiviazione, è sicuramente uno dei progetti Open Source più validi.
WebLech: è un prodotto open source anch’esso scritto in Java, è multithread, supporta molte funzionalità richieste per il download di siti web, ed emula le caratteristiche dei browser standard in modo da non farsi notare (Stealth).

Tuttavia i prodotti sopra menzionati, sono prodotti si validi, ma strettamente dipendenti al compito per cui sono stati preposti. Inoltre non usano nessun IoC framework, questo ne aumenta i costi di gestione, la personalizzazione necessità di una buona conoscenza del prodotto, la curva di apprendimento non è da sottovalutare.


L’obbiettivo di un progetto che sto seguendo personalmente, è proprio quello di creare uno strumento efficiente, Open-Source e facile da usare. Dei suoi dettagli e del rilascio ne parlerò prossimamente.
Posta un commento