Crawler

Disambiguazione – Se stai cercando il veicolo cingolato, vedi Crawler-transporter.
Disambiguazione – Se stai cercando l'album discografico degli Idles, vedi Crawler (album).

Un crawler (detto anche web crawler, spider o robot), è un software con cui di solito un motore di ricerca analizza i contenuti di una rete (o di un database) in un modo metodico e automatizzato. Nello specifico, un crawler è un tipo di bot (programma o script che automatizza delle operazioni), 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 (il quale, inizialmente, si basa a sua volta sugli indirizzi suggeriti dagli utenti o su una lista precompilata dai programmatori stessi). Durante l'analisi 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. All'interno di questo file, è possibile indicare quali pagine non dovrebbero essere analizzate. Il crawler ha la facoltà di seguire i consigli, ma non l'obbligo.

Nomi degli spider dei principali motori di ricerca, aggiornati al 21 febbraio 2008
CrawlerMotore di ricerca
Googlebot Google
Fast Fast - Alltheweb
Slurp Inktomi - Yahoo!
Scooter AltaVista
Mercator AltaVista
Ask Jeeves Ask Jeeves
Teoma agent Teoma
Ia archiver Alexa - Internet Archive
Yahoo! Slurp Yahoo
Romilda Facebook
DuckDuckBot DuckDuckGo

Esempi di Web crawlers

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

Crawler di tipo open source

  • DataparkSearch è un crawler e motore di ricerca distribuito sotto la GNU General Public License.
  • Ebot è un crawler scalabile e distribuito scritto in Erlang e distribuito sotto la GNU General Public License.
  • 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.
  • 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.
  • Htdig include un crawler web nel suo motore di indicizzazione.
  • 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.
  • JSpider è un web spider altamente personalizzabile distribuito sotto licenza GNU GPL.
  • 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.
  • Nutch è un crawler scritto in Java sotto licenza Apache. Può essere usato assieme all'indice testuale creato con Lucene.
  • WebVac è un crawler usato dal Stanford WebBase Project.
  • WebSPHINX (Miller e Bharat, 1998) è composto da una libreria Java che implementa la query multipla delle pagine web e il parsing HTML, un'interfaccia utente grafica per impostare gli indirizzi di partenza per estrarre i dati scaricati e per implementare un motore di ricerca basilare di testo.
  • 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.
  • LWP::RobotUA (Langheinrich, 2004) è una classe Perl distribuita sotto licenza Perl5.
  • Web Crawler è web crawler open source per .NET scritto in C#.
  • Sherlock Holmes raccoglie e indicizza dati testuali (file di testo, pagine web, ecc.), sia localmente sia nella rete. Holmes è sponsorizzato e usato commercialmente dal portale web ceco Centrum. è usato inoltre dal sito Onet.pl.
  • YaCy è un motore di ricerca liberamente distribuito, costruito sui principi dei network di p2p (sotto licenza GPL).
  • 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.
  • Universal Information Crawler è un web crawler di uso veloce. Salva e analizza i dati.
  • Agent Kernel è una struttura Java per pianificare, trattare e stoccare i dati durante il crawling.
  • Squzer, un web crawler open source, espandibile, multifunzione scritto in Python.
  • 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.
  • BBragnet è un web crawler open source (per server Linux) scritto in PHP.
  • Scrapy è un web crawler open source scritto in Python.

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 dell'utente il contenuto di un intero sito web. Ad esempio, Memory Alpha ne vieta l'utilizzo perché accedono al sito in modo aggressivo, rallentando drasticamente la fruizione del sito stesso da parte degli altri utenti e i trasgressori rischiano di essere bloccati.

Note

  1. ↑ (EN) Memory Alpha:Database download, su memory-alpha.org. URL consultato il 28 dicembre 2010.
  2. ↑ Vedi il file robots.txt di Memory Alpha

Voci correlate

Altri progetti

Collegamenti esterni

Controllo di autoritàGND (DE) 4796298-7