Web scraping: cos’è e come viene effettuato

Web scraping: cos’è e come viene effettuato

Una quota consistente del traffico che raggiunge un sito web non proviene da esseri umani. Dietro le richieste ricevute da un server ci sono, in misura crescente, software costruiti per un’unica finalità: estrarre i contenuti pubblicati e trasferirli altrove.

Quest’ultima categoria di attività prende il nome di web scraping. Grazie all’automazione consente di raccogliere in pochi minuti una mole di informazioni che un operatore umano impiegherebbe settimane a copiare a mano. Sul piano tecnico si tratta di uno strumento neutro, il cui impatto dipende interamente da chi lo utilizza e con quali finalità: la stessa procedura che permette a un comparatore di prezzi di funzionare può essere impiegata per clonare un intero catalogo prodotti o per sovraccaricare un server.

Per chi gestisce un sito web, comprendere il funzionamento dello scraping ha una duplice utilità. Da un lato apre a possibilità concrete di analisi competitiva e di automazione. Dall’altro permette di riconoscere quando il proprio progetto è oggetto di raccolte automatizzate indesiderate e di adottare le contromisure adeguate.

Web scraping: una definizione

Con web scraping si indica l’utilizzo di bot e script automatizzati per estrarre dati e contenuti da un sito web. Il termine, talvolta storpiato in “web scrapping”, deriva dal verbo inglese to scrape, ossia raschiare: un’immagine efficace, perché descrive un’operazione che preleva sistematicamente ciò che si trova sulla superficie di una risorsa online.

L’oggetto della raccolta è il codice Hypertext Markup Language (HTML) che compone la pagina, insieme alle informazioni che il sito conserva all’interno del proprio database e restituisce all’utente sotto forma di testo, tabelle o elenchi. Il software di scraping legge questa struttura, individua gli elementi rilevanti e li trasferisce in un formato ordinato e riutilizzabile.

La differenza rispetto a una copia manuale è di scala e di sistematicità. Un utente può selezionare il prezzo di un prodotto e incollarlo in un foglio di calcolo; uno scraper può ripetere la stessa operazione su decine di migliaia di pagine, in sequenza e senza supervisione, restituendo un archivio strutturato pronto per l’analisi.

Web scraping e screen scraping: le differenze

I due termini vengono spesso confusi, sebbene descrivano approcci tecnicamente distinti. Lo screen scraping opera sul livello visivo: cattura ciò che appare sullo schermo, cioè i pixel dell’immagine renderizzata, e in molti casi ricorre a tecnologie di riconoscimento ottico dei caratteri per convertire il testo visualizzato in dati leggibili da una macchina. È un metodo storicamente utilizzato per interfacciarsi con sistemi legacy privi di API, dove l’unico punto di accesso alle informazioni resta la schermata dell’applicazione.

Il web scraping lavora invece a un livello sottostante, quello del codice sorgente. Anziché interpretare un’immagine, accede direttamente alla struttura HTML della pagina, dove ogni informazione occupa una posizione precisa all’interno di tag, classi e attributi. Questo approccio garantisce alcuni vantaggi rilevanti:

  • maggiore precisione, perché i dati vengono letti nella loro forma originale senza passaggi di conversione;
  • possibilità di estrarre anche elementi presenti nel codice ma non visibili all’utente, come i metadati;
  • minore sensibilità alle variazioni grafiche del sito, purché la struttura del markup resti stabile;
  • volumi di elaborazione decisamente superiori a parità di risorse impiegate.

Come funziona il web scraping: le fasi del processo

Il processo si articola in tre momenti principali, indipendentemente dallo strumento adottato.

Richiesta e caricamento della pagina. Allo scraper viene fornito un Uniform Resource Locator (URL), che il software carica esattamente come farebbe un browser. Il risultato è l’intero codice HTML della pagina. Gli scraper più evoluti si spingono oltre: eseguono il rendering completo della risorsa, interpretando anche JavaScript e fogli di stile Cascading Style Sheets (CSS). Questa capacità è ormai indispensabile, dato che una quota crescente di siti costruisce i propri contenuti dinamicamente lato client, rendendo il codice HTML iniziale sostanzialmente vuoto.

Estrazione dei dati. Una volta ottenuto il codice, lo scraper individua le informazioni da prelevare. La configurazione può prevedere la raccolta integrale di quanto presente nella pagina oppure una selezione mirata di elementi specifici, identificati tramite selettori che puntano a determinati tag o classi. In ambito commerciale l’estrazione mirata è la scelta più frequente: interessano il prezzo, la disponibilità a magazzino, il codice prodotto, di rado l’intero contenuto della pagina.

Restituzione dell’output. L’ultima fase consiste nella scrittura dei dati raccolti in un formato utilizzabile. I più diffusi sono il file CSV e il foglio di calcolo Excel, adatti a un’analisi immediata. Gli strumenti più avanzati esportano anche in JSON o XML, formati che si integrano con le application programming interface (API) e permettono di alimentare in tempo reale altri sistemi aziendali, dal gestionale alla piattaforma di business intelligence.

I tipi di web scraper

Gli strumenti disponibili si distinguono in base a diversi criteri, che spesso si combinano tra loro.

Scraper autocostruiti e preconfezionati. Con competenze di programmazione adeguate è possibile sviluppare uno scraper su misura, tipicamente in Python, linguaggio che offre librerie mature e ampiamente documentate per questo scopo. Il livello di conoscenza richiesto cresce con la complessità delle funzioni desiderate. In alternativa esistono soluzioni già pronte, scaricabili e operative in pochi passaggi, spesso dotate di funzionalità evolute come l’esportazione diretta verso Google Sheets o l’integrazione con servizi terzi.

Estensioni per browser e software desktop. Le estensioni si installano su Chrome, Firefox o altri browser e offrono un utilizzo immediato, con il limite di operare all’interno dell’ambiente del browser stesso. Questo vincolo impedisce l’implementazione di logiche complesse. Il software installato sul computer supera la restrizione: rinuncia alla comodità dell’integrazione nel browser in cambio di una flessibilità e di un ventaglio di funzioni sensibilmente più ampi.

Interfaccia utente. Alcuni strumenti si presentano con una riga di comando essenziale, che richiede familiarità tecnica e restituisce poche indicazioni sullo stato dell’elaborazione. Altri offrono un’interfaccia grafica evoluta, dove l’operatore seleziona con il mouse gli elementi da estrarre direttamente sulla pagina visualizzata. Le soluzioni più curate accompagnano l’utente con suggerimenti contestuali che spiegano le funzioni disponibili.

Scraper cloud e locali. Uno scraper locale utilizza le risorse della macchina su cui è installato: potenza di calcolo, memoria e banda. Su volumi elevati questo si traduce in un rallentamento sensibile del sistema e in un consumo di traffico che, in presenza di limiti imposti dal provider, può esaurirsi rapidamente. Lo scraping in cloud sposta l’elaborazione su server remoti gestiti dal fornitore del servizio, lasciando libere le risorse locali e consentendo di pianificare raccolte periodiche senza mantenere acceso alcun dispositivo.

Gli usi leciti del web scraping

Le applicazioni legittime coprono ambiti molto diversi e rappresentano la quota largamente maggioritaria dell’utilizzo di questa tecnologia.

Nella price intelligence i dati raccolti dai siti di e-commerce concorrenti alimentano la definizione della propria strategia commerciale. L’obiettivo è costruire un listino competitivo che resti allineato al mercato e sostenga gli obiettivi di marginalità. Con rilevazioni continuative diventa possibile implementare politiche di prezzo dinamiche, che reagiscono ai movimenti dei concorrenti e alle condizioni di domanda.

Le ricerche di mercato beneficiano della possibilità di misurare dimensione, composizione ed evoluzione di un settore. Incrociando l’andamento dei prezzi con stagionalità, eventi e dinamiche della catena di fornitura si ottiene un quadro interpretativo utile anche in fase di ricerca e sviluppo, per orientare la progettazione di prodotti e servizi verso bisogni ancora scoperti.

Nel campo dei dati alternativi per la finanza lo scraping alimenta modelli di analisi basati su fonti eterogenee: documenti depositati presso le autorità di vigilanza, rassegne stampa, indicatori di sentiment estratti da forum e social network. Il confronto tra società anche di settori distanti, accomunate dall’esposizione agli stessi fattori di mercato, restituisce correlazioni difficilmente individuabili con le sole fonti tradizionali.

Il settore immobiliare ha visto una trasformazione profonda con la digitalizzazione degli annunci. Un agente o un’agenzia può aggregare i dati provenienti da più portali per ricostruire l’andamento dei prezzi zona per zona, valutare quale piattaforma genera i tempi di vendita più rapidi e stimare correttamente il posizionamento di un immobile in un mercato non ancora presidiato.

Tra le altre applicazioni ricorrenti si segnalano:

  • la generazione di lead, con l’analisi dei siti di potenziali clienti alla ricerca di segnali che indichino un fabbisogno specifico;
  • il monitoraggio delle notizie, che filtra il flusso informativo selezionando solo i temi rilevanti per il proprio settore;
  • il brand monitoring, che intercetta menzioni e contenuti potenzialmente dannosi per la reputazione aziendale, consentendo una risposta tempestiva;
  • l’automazione dei processi interni, che convoglia in un unico archivio dati aziendali altrimenti dispersi tra sistemi diversi.

Quando il web scraping diventa una minaccia

Come accade per molte tecnologie, la stessa capacità che genera valore può essere impiegata in modo lesivo. In diversi casi lo scraping malevolo si muove in una zona grigia dal punto di vista normativo, pur costituendo un rischio concreto per l’attività colpita.

Il price scraping consiste nell’estrazione sistematica dei listini di un concorrente, spesso tramite botnet che distribuiscono le richieste su numerosi indirizzi IP per eludere i controlli. Le informazioni ottenute permettono di posizionarsi appena al di sotto dei prezzi rilevati. L’effetto si amplifica sui comparatori: se l’ordinamento predefinito è per prezzo crescente, chi pratica un ribasso mirato compare stabilmente in cima all’elenco e intercetta la maggior parte dei clic. I settori più esposti sono quelli in cui più operatori vendono prodotti identici, dall’elettronica di consumo al noleggio auto.

Il content scraping ha per oggetto i contenuti editoriali e commerciali di un sito. Testi, immagini, schede tecniche e materiali di marketing vengono duplicati e ripubblicati altrove. Le conseguenze si articolano su più piani: la perdita di un vantaggio competitivo costruito con investimenti significativi, il danno derivante dalla presenza di contenuti duplicati nei risultati dei motori di ricerca, l’utilizzo del materiale sottratto in campagne di spam che associano il marchio originale a pratiche scorrette. Il caso più grave riguarda la clonazione di un sito a fini di phishing: una copia fedele, indistinguibile dall’originale agli occhi di un utente distratto, raggiunta tramite un’email fraudolenta, diventa lo strumento per sottrarre credenziali di accesso e dati di pagamento.

Esistono poi bot progettati per interrogare in profondità le basi di dati che alimentano un sito. Un bot può simulare il comportamento di un cliente, variando sistematicamente i parametri di ricerca per ricostruire l’intera struttura tariffaria di un servizio: nel caso di un autonoleggio, categoria del veicolo, durata del noleggio, città di ritiro e condizioni promozionali associate. Il risultato è la mappatura completa di una politica commerciale che l’azienda non ha mai reso pubblica in forma aggregata.

A questi effetti diretti si aggiunge un impatto tecnico spesso sottovalutato: il traffico generato da scraper aggressivi consuma banda e risorse del server, rallenta i tempi di risposta per gli utenti reali e, sui piani di hosting con limiti definiti, può portare al superamento delle soglie contrattuali.

Web scraping e aspetti legali: cosa dice la normativa

Non esiste una disciplina unitaria dedicata specificamente allo scraping, che ricade quindi sotto l’applicazione di corpi normativi diversi a seconda della natura dei dati raccolti e delle modalità di raccolta.

Il primo profilo riguarda la protezione dei dati personali. Quando le informazioni estratte permettono di identificare una persona fisica, si applica il Regolamento generale sulla protezione dei dati (GDPR). La circostanza che un dato sia liberamente consultabile online non lo rende automaticamente utilizzabile: il trattamento richiede una base giuridica valida e il rispetto degli obblighi di informativa verso gli interessati.

Il secondo profilo attiene al diritto d’autore. Testi, fotografie e materiali originali restano protetti anche una volta pubblicati in rete, e la loro riproduzione senza autorizzazione configura una violazione. A questa tutela si affianca quella riservata alle banche dati, che l’ordinamento europeo protegge in ragione dell’investimento sostenuto per la loro costituzione, indipendentemente dall’originalità dei singoli elementi che le compongono.

Rileva infine il piano contrattuale. I termini di servizio della maggior parte dei siti vietano espressamente l’accesso automatizzato, e la loro violazione può fondare un’azione per inadempimento. Nella prassi vengono valutate anche le modalità concrete dell’attività: l’elusione di misure tecniche di protezione e la generazione di un carico anomalo sui sistemi altrui aggravano la posizione di chi effettua la raccolta.

Web scraping: cos’è e come viene effettuato

Come proteggere il proprio sito dallo scraping indesiderato

Nessuna misura elimina completamente il rischio, dato che un contenuto pubblicato resta per definizione accessibile. È tuttavia possibile alzare in modo significativo il costo dell’operazione, scoraggiando gli attori meno determinati e rendendo individuabili quelli più insistenti.

Le contromisure più efficaci sono le seguenti:

  • limitazione della frequenza delle richieste (rate limiting), che impone una soglia massima di chiamate per singolo indirizzo IP in un intervallo di tempo definito;
  • configurazione del file robots.txt per segnalare le aree del sito escluse dalla scansione automatizzata, tenendo presente che si tratta di un’indicazione priva di efficacia coercitiva;
  • adozione di un web application firewall in grado di riconoscere le firme comportamentali tipiche del traffico automatizzato e bloccarlo prima che raggiunga l’applicazione;
  • inserimento di sistemi di verifica come i CAPTCHA sulle pagine più sensibili, in particolare quelle che espongono listini o risultati di ricerca;
  • analisi periodica dei log del server alla ricerca di anomalie ricorrenti: sequenze di richieste troppo regolari, user agent sospetti, provenienze geografiche incoerenti con il bacino di utenza;
  • caricamento dinamico dei dati più sensibili tramite JavaScript, che complica il lavoro degli scraper meno evoluti;
  • verifica periodica della presenza di contenuti duplicati tramite ricerche mirate sui motori, per intervenire con segnalazioni formali quando necessario.

Un ruolo determinante lo svolge l’infrastruttura di hosting. Un piano dimensionato correttamente assorbe i picchi di traffico anomalo senza compromettere l’esperienza degli utenti legittimi, mentre gli strumenti di monitoraggio integrati permettono di rilevare per tempo consumi di banda fuori scala. La combinazione tra una configurazione server accurata e una vigilanza costante sui log rappresenta oggi la difesa più solida a disposizione di chi gestisce un progetto online.