È uscito il Corso Java Completo
Torna al blog

Web scraping: cos'è, come funziona e quando è legale

Cos'è il web scraping, come funziona tecnicamente, quali sono i limiti legali in Italia e in Europa e le regole pratiche per farlo senza creare problemi.

Edoardo Midali

Edoardo Midali

Developer · Content Creator

6 min di lettura

Raccogliere automaticamente dati da un sito è una delle esigenze più comuni quando si automatizza qualcosa: prezzi dei concorrenti, annunci, cataloghi, dati pubblici. Tecnicamente è alla portata di chiunque sappia programmare un po'. La parte delicata non è il come, è il se — e su quello circolano tante mezze verità. In questo articolo ti spiego entrambe le cose.

Questo è un articolo divulgativo, non un parere legale. Per progetti commerciali su dati altrui, conviene sentire un professionista.

Cos'è il web scraping

Il web scraping è l'estrazione automatica di dati da pagine web: un programma scarica la pagina, ne interpreta il contenuto ed estrae le informazioni che servono, salvandole in forma strutturata.

Va distinto da due cose vicine:

Il crawling è la scansione sistematica di un sito seguendo i link — è quello che fanno i motori di ricerca. Lo scraping estrae dati da pagine specifiche.

Le API sono canali che un servizio espone apposta per fornire dati. Se esiste un'API, usala. È più stabile, più veloce, esplicitamente autorizzata e non si rompe al primo cambio di grafica. Lo scraping è la soluzione quando l'API non c'è.

Come funziona

Il flusso è sempre lo stesso, in qualunque linguaggio:

1. Scaricare la pagina. Una richiesta HTTP restituisce l'HTML.

2. Interpretare l'HTML. Una libreria di parsing trasforma il testo in una struttura navigabile, da cui si estraggono gli elementi tramite selettori CSS o XPath.

3. Estrarre e pulire. Testo, attributi, link. Poi normalizzazione: togliere spazi, convertire prezzi e date in formati coerenti.

4. Salvare. CSV, database, foglio di calcolo.

In Python — il linguaggio più usato per questo, come racconto in automatizzare task con Python — lo stack tipico è requests più BeautifulSoup per i casi semplici, Scrapy per progetti strutturati.

Il problema dei siti dinamici

C'è un ostacolo che si incontra sempre: molti siti moderni caricano i contenuti via JavaScript dopo il caricamento iniziale. Scaricando l'HTML grezzo trovi una pagina quasi vuota.

Le due soluzioni:

Un browser automatizzato (Playwright, Selenium) che esegue realmente il JavaScript. Funziona sempre, ma è molto più lento e pesante.

Trovare la chiamata sotto. Spesso la pagina recupera i dati da un endpoint interno che restituisce JSON. Aprendo gli strumenti per sviluppatori del browser, scheda Rete, lo si individua. È quasi sempre la strada migliore: più veloce, più stabile e i dati arrivano già strutturati.

La parte legale

Qui sta il punto che interessa davvero, e la risposta onesta è che dipende da cosa raccogli e cosa ci fai — non dal fatto che i dati siano "pubblici".

Vanno tenuti distinti quattro piani, perché si applicano insieme.

1. I termini di servizio

Molti siti vietano esplicitamente lo scraping nelle proprie condizioni d'uso. È un vincolo contrattuale: violarlo può portare al blocco dell'accesso e, in certi casi, a contestazioni. Il peso giuridico varia a seconda che tu abbia accettato quelle condizioni (registrandoti) o meno.

2. Il diritto d'autore e il diritto sulle banche dati

I contenuti (testi, foto, descrizioni) sono in genere protetti dal diritto d'autore: raccoglierli per analisi interna è una cosa, ripubblicarli è un'altra.

In Europa esiste inoltre una tutela specifica per le banche dati: chi ha investito in modo rilevante nella costituzione di una raccolta può opporsi all'estrazione di parti sostanziali della stessa. È il vincolo che pesa di più su chi vuole replicare un catalogo o un elenco.

3. I dati personali

Se raccogli dati riferibili a persone — nomi, email, profili — sei nel campo del GDPR, e il fatto che siano pubblicamente visibili non li rende liberamente utilizzabili.

Servono una base giuridica per il trattamento, informativa, limitazione delle finalità. La raccolta massiva di email per invio commerciale non autorizzato è illecita, ed è anche l'uso più diffuso dello scraping. Il quadro generale è in GDPR per sviluppatori.

4. Il carico sul server

Interrogare un sito con migliaia di richieste al minuto può degradarne il funzionamento. Oltre a essere scorretto, un comportamento che compromette il servizio altrui può avere rilevanza penale.

Il quadro pratico

ScenarioValutazione
Dati pubblici non personali, uso interno, ritmo lentoGeneralmente il caso più difendibile
Dati aggregati per analisi statisticaSolitamente ammissibile
Ripubblicazione di contenuti altruiProblema di diritto d'autore
Estrazione sostanziale di un databaseProblema di diritto sui database
Raccolta di dati personaliGDPR, base giuridica necessaria
Aggirare autenticazione o protezioniDa evitare del tutto
Richieste massive che rallentano il sitoDa evitare del tutto

Le regole per farlo bene

Al di là della legge, le buone pratiche che riducono i problemi:

Cerca prima un'API o un dataset aperto. Moltissimi dati che si tenta di raschiare sono disponibili in forma ufficiale.

Leggi robots.txt. Non è vincolante di per sé, ma indica la volontà del gestore, e ignorarla pesa in caso di contestazione.

Rallenta. Una richiesta ogni pochi secondi, non cento al secondo. Un ritmo umano non danneggia nessuno e non ti fa bloccare.

Identificati. Uno user-agent che dice chi sei e come contattarti è più corretto di uno camuffato — e se qualcuno ha problemi, ti scrive invece di bloccarti.

Prendi solo quello che ti serve. Scaricare l'intero sito per usarne il 2% è sproporzionato.

Metti in cache. Non richiedere due volte la stessa pagina inutilmente.

Non aggirare le protezioni. Se un sito mette CAPTCHA o richiede login, sta dicendo chiaramente di no. Superare una misura di protezione cambia completamente la natura giuridica dell'operazione.

Gestisci gli errori. I siti cambiano struttura: uno scraper non presidiato smette di funzionare in silenzio, o peggio, raccoglie dati sbagliati.

Dove serve davvero

Gli usi legittimi e comuni:

  • Monitoraggio prezzi dei concorrenti, per uso interno
  • Ricerca e analisi su dati pubblici
  • Aggregazione di annunci o offerte, con rimando alla fonte
  • Archiviazione dei propri contenuti da una piattaforma
  • Test e verifica sul proprio sito
  • Alimentare automazioni — è un ingrediente frequente nei flussi descritti in automazioni utili per freelance e PMI

In sintesi

Il web scraping estrae dati da pagine web in modo automatico. Tecnicamente è semplice; l'ostacolo pratico più comune sono i siti che caricano i contenuti via JavaScript, e la soluzione migliore è quasi sempre individuare la chiamata interna che restituisce i dati già strutturati.

Sul piano legale, la domanda non è "i dati sono pubblici?" ma "cosa raccolgo e cosa ci faccio?". Uso interno di dati non personali a ritmo moderato è il caso più difendibile; ripubblicazione, estrazione di interi database e raccolta di dati personali sono terreni con vincoli precisi.

Le due regole che evitano la maggior parte dei problemi: cerca prima un'API, e non aggirare mai una protezione. Se un sito ti sta dicendo di no, la risposta non è tecnica.

Se stai costruendo un'automazione e vuoi impostarla bene fin dall'inizio, la consulenza per nuovi progetti serve anche a questo.