Termine del glossario

Web crawler

Un web crawler è un programma che visita sistematicamente le pagine web, segue i link, carica i contenuti e, se previsto, acquisisce screenshot o estrae dati da ogni pagina.

Come funzionano i web crawler

Un crawler parte da uno o più URL iniziali. Scarica l'HTML di ciascuna pagina, cerca i collegamenti e li aggiunge a una coda. Visita quindi ogni URL in attesa, scopre nuovi link e ripete il processo, costruendo man mano una mappa della struttura del sito.

Il processo è regolato da diversi controlli. I limiti di profondità stabiliscono quanti livelli di link seguire a partire dall'URL iniziale. I filtri sugli URL restringono la scansione a determinati domini, sottodomini o schemi di percorso. La limitazione della frequenza evita che troppe richieste simultanee sovraccarichino il server di destinazione.

I crawler più semplici usano client HTTP per recuperare l'HTML grezzo. Quelli più avanzati eseguono un browser headless, riproducono JavaScript, attendono il caricamento dei contenuti dinamici e poi elaborano la pagina completa. La differenza è importante nelle moderne applicazioni a pagina singola, dove gran parte dei contenuti arriva dopo la risposta HTML iniziale.

Il crawler conserva un elenco degli URL già visitati per non elaborare due volte la stessa pagina e, di norma, rispetta il file robots.txt, che indica agli agenti automatici quali percorsi possono o non possono raggiungere.

Crawling e scraping

Crawling e scraping sono attività collegate, ma distinte. Il compito principale di un crawler è la scoperta: trovare pagine e ricostruire la struttura di un sito. Quello di uno scraper è l'estrazione: ottenere dati specifici, come testo, prezzi, immagini o metadati, dalle singole pagine.

Nella pratica, spesso vengono combinati. Un crawler trova tutte le pagine dei prodotti di un sito di commercio elettronico e uno scraper ne estrae nome, prezzo e disponibilità. Allo stesso modo, un crawler può scoprire le pagine di un sito promozionale mentre un motore di acquisizione crea un'istantanea visiva di ciascuna.

La differenza fondamentale è nello scopo: il crawling risponde alla domanda "quali pagine esistono?", lo scraping a "che cosa contiene ogni pagina?".

Negli strumenti per screenshot, il crawling è in genere il livello di scoperta, non il risultato finale. Il crawler trova gli URL da coprire e il sistema di acquisizione trasforma l'elenco in prove visive, verifiche o archivi.

Dove si usano i web crawler

  • Motori di ricerca — Google, Bing e altri motori usano crawler su larga scala, come Googlebot e Bingbot, per scoprire e indicizzare le pagine in tutto il web.
  • Verifiche dei siti e SEO — controllano link interrotti, metadati mancanti, catene di reindirizzamento e problemi di accessibilità nell'intero sito.
  • Controllo visivo — alcuni strumenti per screenshot includono un crawler che acquisisce le pagine da un elenco di URL, consentendo di esaminarne centinaia senza navigazione manuale.
  • Archiviazione e conformità — le organizzazioni esaminano i propri siti o pagine di terzi per creare registri visivi e di dati a fini normativi o legali.
  • Analisi della concorrenza — i crawler rilevano cambiamenti nei prezzi, lanci di prodotti e aggiornamenti dei contenuti sui siti concorrenti.

Errori comuni

  • Ignorare robots.txt. Il file specifica quali percorsi non andrebbero visitati. Ignorarlo può causare il blocco dell'indirizzo IP, problemi legali e carico inutile sul server. Controlla e rispetta sempre le direttive.
  • Eseguire la scansione senza limiti di frequenza. Centinaia di richieste simultanee possono sovraccaricare un server, attivare le difese anti-bot e far bloccare l'indirizzo IP. Introduci pause e limita le connessioni contemporanee.
  • Non gestire gli URL duplicati. La stessa pagina può essere raggiunta tramite varianti con o senza barra finale, parametri di query o identificatori di frammento. Normalizza gli URL e registra quelli già visitati.
  • Saltare il rendering JavaScript. Molti siti caricano i contenuti in modo dinamico. Un crawler che scarica soltanto l'HTML grezzo perde ciò che viene generato da framework come React, Vue o Angular. Per questi siti usa un browser headless.
  • Non definire l'ambito della scansione. Senza limiti di profondità o filtri, il crawler può perdersi in paginazioni infinite, domini esterni o URL generati dinamicamente. Stabilisci confini chiari prima di avviarlo.

Domande frequenti

Qual è la differenza tra un web crawler e un web scraper?

Un crawler scopre le pagine seguendo i link: il suo compito è trovare URL. Uno scraper estrae dati specifici da quelle pagine: il suo compito è ricavare contenuti. Molti strumenti fanno entrambe le cose: il crawler trova le pagine e lo scraper, o il motore di acquisizione, elabora ciascuna di esse.

I web crawler eseguono JavaScript?

I crawler tradizionali scaricano l'HTML grezzo senza eseguire JavaScript. Quelli moderni possono usare un browser headless per riprodurre pagine che dipendono da JavaScript, necessario per applicazioni a pagina singola e contenuti caricati dinamicamente.

Come controllo quali pagine visita un crawler?

Imposta un limite di profondità per stabilire quanti livelli di link deve seguire. I filtri sugli URL, tramite elenchi di inclusione ed esclusione, permettono di accettare o bloccare percorsi specifici. Rispettare il file robots.txt del sito è una buona pratica tecnica ed etica.

Un web crawler può acquisire uno screenshot di ogni pagina visitata?

Sì. Alcuni strumenti per screenshot includono un crawler che visita ogni pagina scoperta e la acquisisce automaticamente. È utile per verifiche visive, archiviazione e controllo di un intero sito.

Il web crawling è legale?

La scansione di pagine accessibili al pubblico è in genere consentita, ma occorre rispettare le direttive di robots.txt, non sovraccaricare i server con richieste rapide e verificare i termini di servizio del sito. L'accesso automatico dietro autenticazione o la raccolta di dati personali comportano ulteriori aspetti legali.

Fonti

Risorse correlate

Che cos'è Web crawler? | Glossario | Shotomatic