Топ-100
Indietro

ⓘ Crawler. Un crawler, è un software che analizza i contenuti di una rete in un modo metodico e automatizzato, in genere per conto di un motore di ricerca. Nello ..




Crawler
                                     

ⓘ Crawler

Un crawler, è un software che analizza i contenuti di una rete in un modo metodico e automatizzato, in genere per conto di un motore di ricerca. Nello specifico, un crawler è un tipo di bot, che solitamente acquisisce una copia testuale di tutti i documenti presenti in una o più pagine web creando un indice che ne permetta, successivamente, la ricerca e la visualizzazione.

Un uso estremamente comune dei crawler viene effettuato sul Web; esso si basa su una lista di URL da visitare fornita dal motore di ricerca. Durante lanalisi di una URL, identifica tutti i collegamenti ipertestuali presenti nel documento e li aggiunge alla lista di URL da visitare. Il processo può essere concluso manualmente o dopo che un determinato numero di collegamenti è stato seguito.

Inoltre i crawler attivi su Internet hanno la facoltà di essere indirizzati da quanto indicato nel file "robots.txt" posto nella root del sito. Allinterno di questo file, è possibile indicare quali pagine non dovrebbero essere analizzate. Il crawler ha la facoltà di seguire i consigli, ma non lobbligo.

                                     

1. Esempi di Web crawlers

La seguente è una lista di architetture pubbliche di crawler di carattere generico:

  • VnzOwna da Silva et al., 1999 usato come schedulatore centrale e serie di collettori distribuiti. I collettori parsificano le pagine web scaricate e inviano gli URL scoperti allo schedulatore, il quale assegna il turno ai collettori. Lo schedulatore rinforza la ricerca ordinata breadth-first con una politica senza ordine per evitare il sovraccarico dei server web. Il crawler è scritto in Perl.
  • Labrador,un crawler privato che collabora con il progetto Open Source chiamato Terrier Search Engine.
  • WebRACE Zeinalipour-Yazti and Dikaiakos, 2002 è un modulo sviluppato in Java di crawling e caching, e usato come parte di un sistema più generico chiamato eRACE. La maggior funzionalità che spicca in Webrace è che, mentre molti crawler iniziano a cercare con un set di semi URL, WebRACE riceve continuamente nuovi URL dal form.
  • HotCrawler, è scritto in C e PHP.
  • TennSpider McBryan, 1994 era un crawler usato per costruire un semplice indice di titoli di documento e URL. Lindice poteva essere cercato usando il comando grep Unix.
  • Mercator è un web crawler modulare distribuito e scritto in Java. La sua modularità sorge dalluso di "moduli di protocollo" intercambiabili e "modelli di processo". I moduli di protocollo sono correlati per acquisire le pagine web es: HTTP, e i moduli di processo sono correlati per processare le pagine web. I moduli standard possono essere usati per indicizzare il testo delle pagine, o per raccogliere statistiche dal Web.
  • WebCrawler Pinkerton, 1994 è stato usato per costruire il primo indice testuale di pubblicità di un ramo del web. Era basato su lib-WWW per scaricare le pagine, e un altro programma per analizzare e ordinare URL per esplorazione tramite metodo grafico breadth-first. Include anche un crawler in tempo reale che segue i collegamenti basati sulle similarità del testo-ancora con la query condizionale.
  • WebFountain Edwards et al., 2001 è un crawler simile a Mercator ma scritto in C++. La sua particolarità sta nella "controller machine" che coordina una serie di "macchine-formiche". Dopo un ripetitivo scarico di pagine, un fattore di cambio è calcolato per ogni pagina e un metodo di programmazione non lineare deve essere usato per risolvere il sistema di equazione per massimizzare laggiornamento. Gli autori raccomandano di usare questo ordine di crawling nelle prime parti, e poi scambiare lordine uniforme nel quale tutte le pagine sono state visitate con la stessa frequenza.
  • Bucean Eichmann, 1994 è stato il primo crawler pubblico. È basato su due programmi: il primo, spider mantiene la richiesta in un database relazionale, e il secondo mite ", è un browser www ASCII che scarica le pagine dal web.
  • PolyBot è un crawler scritto in C++ e Python, composto da un manager, uno o più downloader e uno o più rilevatori DNS. Gli URL collezionati sono aggiunti su disco e processati più tardi per cercarli in modalità batch. La regolamentazione considera entrambi domini di terzi e secondi livelli es di terzo: www.aaa.com, www2.aaa.com perché i domini di terzo livello sono solitamente ospitati dallo stesso webserver.
  • Ubicrawler Boldi et al., 2004 è un crawler scritto in Java. È composto da un numero di agenti identici e la funzione di assegnamento è calcolata usando lhashing dei nomi di host. Non cè overlap, questo significa che nessuna pagina è indicizzata due volte, fino a quando un agente crawler non crasha; raggiunge alta scalabilità ed è tollerante ai fallimenti.
  • Spinn3r, è un crawler usato per costruire lanima di Tailrank.com. Spinn3r è basato su Java e la maggior parte dellarchitettura è Open Source.
  • FAST Crawler Risvik and Michelsen, 2002 è un crawler usato dai Fast Search & Transfer.
  • Google Crawler Brin and Page, 1998 è descritto in alcuni dettagli, ma il riferimento è solo su una precedente versione di quellarchitettura, la quale è basata su C++ e Python. Il crawler fu integrato col processo di indicizzazione, perché la selezione del testo fu fatta per indicizzare completamente il testo e anche per lestrazione degli URL. Un server URL invia liste di URL per essere prelevato da diversi processi di crawling. Durante il parsing, gli URL trovati sono inviati a un server URL che controlla se lURL è stato visto precedentemente. Se no, lURL è aggiunto allinterrogazione del server URL.
                                     

1.1. Esempi di Web crawlers Crawler di tipo open-source

  • WebVac è un crawler usato dal Stanford WebBase Project.
  • Htdig include un crawler web nel suo motore di indicizzazione.
  • Nutch è un crawler scritto in Java sotto licenza Apache. Può essere usato assieme allindice testuale creato con Lucene.
  • YaCy è un motore di ricerca liberamente distribuito, costruito sui principi dei network di p2p sotto licenza GPL.
  • HTTrack usa un web crawler per creare una replica di un sito web per la consultazione off-line. È stato scritto in C e distribuito sotto licenza GNU GPL.
  • Wget è un crawler a riga di comando scritto in C e distribuito sotto la GNU General Public License. È tipicamente usato per siti mirror e FTP.
  • DataparkSearch è un crawler e motore di ricerca distribuito sotto la GNU General Public License.
  • Web Crawler è web crawler open source per.NET scritto in C#.
  • Ebot è un crawler scalabile e distribuito scritto in Erlang e distribuito sotto la GNU General Public License.
  • Arachnode.NET è un web crawler open source promiscuo per scaricare, indicizzare e salvare contenuti Internet incluse e-mail, file, hyperlink, immagini e pagine web. Arachnode.net è scritto in C# usando SQL Server 2005 ed è distribuito sotto licenza GPL.
  • Agent Kernel è una struttura Java per pianificare, trattare e stoccare i dati durante il crawling.
  • WIRE - Web Information Retrieval Environment Baeza-Yates e Castillo, 2002 è un web crawler scritto in C++ e distribuito sotto licenza GPL, inclusi diverse linee di condotta per catalogare le pagine web scaricate e un modulo per generare statistiche e rapporti sulle pagine scaricate, usato per la caratterizzazione web.
  • Ruya è open source ad alte prestazioni basato sulla ricerca Breadth-first, crawler di livello base. È usato per gestire siti web inglesi e giapponesi nel miglior modo possibile. È distribuita sotto licenza GPL e scritto interamente in linguaggio Python.
  • Sherlock Holmes raccoglie e indicizza dati testuali, sia localmente che nella rete. Holmes è sponsorizzato e usato commercialmente dal portale web ceco Centrum. è usato inoltre dal sito Onet.pl.
  • Methabot è un web crawler ottimizzato per la velocità e a riga di comando scritta in C e distribuito sotto licenza ISC. Comprende un sistema di configurazione, un modulo di sistema e supporto per obiettivi di crawling attraverso il file system locale, HTTP o FTP.
  • LWP RobotUA Langheinrich, 2004 è una classe Perl distribuita sotto licenza Perl5.
  • BBragnet è un web crawler open source per server Linux scritto in PHP
  • Heritrix è il crawler di maggior qualità di estrazione dagli archivi web, studiato per archiviare periodici screenshot di una larga porzione del web. È stato scritto in Java.
  • JSpider è un web spider altamente personalizzabile distribuito sotto licenza GNU GPL.
  • WebSPHINX Miller e Bharat, 1998 è composto da una libreria Java che implementa la query multipla delle pagine web e il parsing HTML, uninterfaccia utente grafica per impostare gli indirizzi di partenza per estrarre i dati scaricati e per implementare un motore di ricerca basilare di testo.
  • Universal Information Crawler è un web crawler di uso veloce. Salva e analizza i dati.
  • Squzer, un web crawler open-source, espandibile, multifunzione scritto in Python.
                                     

2. Critiche

Il termine Web Crawler viene utilizzato anche per indicare i controversi offline browser, come: PageNest ex WebStripper, MSIECrawler, Offline Explorer, ecc. Questi programmi sono concepiti per scaricare sul disco fisso del computer dellutente il contenuto di un intero sito web. Ad esempio, Memory Alpha ne vieta lutilizzo perché accedono al sito in modo aggressivo, rallentando drasticamente la fruizione del sito stesso da parte degli altri utenti ed i trasgressori rischiano di essere bloccati.