Skip to main content
Il programma che svolge questa attività è generalmente chiamato “scraper” o “crawler”: visita le pagine, ne legge il contenuto HTML ed estrae i dati specifici richiesti, automatizzando un lavoro che altrimenti richiederebbe di copiare a mano le informazioni dalle pagine web.

Casi d’uso comuni

Tra i casi d’uso più comuni figurano la raccolta dei prezzi dei prodotti dai siti di e-commerce, l’acquisizione di articoli di notizie e offerte di lavoro, il monitoraggio della concorrenza e la creazione di dataset per la ricerca.

Come funziona

Un tipico flusso di lavoro di scraping si svolge così: si invia una richiesta HTTP a un URL, si riceve la risposta HTML, la si analizza per trovare gli elementi pertinenti mediante selettori CSS o XPath e si salvano i dati estratti in un formato strutturato come CSV, JSON o in un database.

Differenze rispetto alle API e alla raccolta manuale

Rispetto alla raccolta manuale, lo scraping svolge automaticamente lo stesso lavoro di copia e incolla: è quindi più veloce, ripetibile e scalabile fino a migliaia di pagine, a fronte di una configurazione iniziale e della manutenzione necessaria quando cambia il layout del sito. Rispetto a un’API, lo scraping legge lo stesso HTML mostrato da un browser anziché usare un feed di dati dedicato. Quando un sito offre un’API ufficiale, questa è in genere l’opzione più affidabile e autorizzata: i dati sono già strutturati, stabili e documentati. Si ricorre allo scraping quando non esiste un’API, quando l’API non espone i dati necessari o quando impone limiti troppo restrittivi, accettando il compromesso di dipendere dal markup della pagina e il rischio che una sua modifica interrompa il funzionamento.

Strumenti e librerie

Tra gli strumenti e le librerie più diffusi per il web scraping figurano Beautiful Soup e Scrapy per Python, Puppeteer e Cheerio per JavaScript, nonché piattaforme no-code come Octoparse. Le piattaforme no-code adottano un approccio diverso dalle librerie basate su script: Octoparse, ad esempio, esegue le pagine in un browser reale e consente di creare un web scraper puntando e facendo clic, simulando il modo in cui una persona naviga e seleziona i dati, anziché richiedere la scrittura del codice di estrazione. Per le pagine che si affidano in larga misura a JavaScript per renderizzare i contenuti, i browser headless, come Puppeteer o Playwright, possono simulare un browser reale per accedere ai dati caricati dinamicamente.

Aspetti da tenere presenti

Quando si esegue lo scraping, è bene tenere presenti alcuni aspetti: controllare sempre il file robots.txt e i termini di servizio del sito per capire che cosa è consentito, adottare frequenze di richiesta rispettose per evitare di sovraccaricare i server ed essere consapevoli che alcune giurisdizioni prevedono restrizioni legali sullo scraping di determinati tipi di dati.