Che cosa è lo scraping dei dati?

I malintenzionati possono utilizzare degli strumenti di web scraping per accedere ai dati molto più rapidamente del previsto. Il risultato è che i dati potrebbero essere utilizzati per scopi non autorizzati.

Obiettivi di apprendimento

Dopo aver letto questo articolo sarai in grado di:

  • Dare una definizione di scraping di dati
  • Spiegare le finalità dello scraping di dati
  • Comprendere i metodi di mitigazione dello scraping di dati
  • Differenziare tra scraping e crawling di dati

Argomenti correlati


Vuoi saperne di più?

Abbonati a theNET, il riepilogo mensile di Cloudflare sulle tematiche più discusse in Internet.

Fai riferimento all'Informativa sulla privacy di Cloudflare per scoprire come raccogliamo ed elaboriamo i tuoi dati personali.

Copia link dell'articolo

Difenditi dagli attacchi bot come la sottrazione e uso illecito delle credenziali e lo scraping di contenuto con Cloudflare

Che cosa è lo scraping dei dati?

Per scraping dei dati (più brevemente scraping), nella sua forma più generale, si intende una tecnica in cui un programma informatico estrae dei dati dall'output generato da un altro programma. Lo scraping si esplicita comunemente nel web scraping, che è il processo nel quale una applicazione estrae informazioni di valore da un sito web.

Scraping di dati

Quali sono i diversi tipi di scraping? Perché viene effettuato lo scraping dei dati di un sito?

Gli scraper possono essere progettati per vari scopi, come ad esempio:

  1. Scraping dei contenuti - i contenuti di un dato sito vengono estratti al fine di replicare il vantaggio specifico di un determinato prodotto o servizio che si basa sui contenuti. Prendiamo ad esempio un sito di recensioni di ristoranti: un concorrente potrebbe recuperare tutte le recensioni, quindi riprodurre il contenuto sul proprio sito web, fingendo che il contenuto sia originale (e raccogliendone i benefici).
  2. Scraping dei prezzi - con lo scraping dei dati sui prezzi, le aziende sono in grado di raccogliere e aggregare informazioni sui propri concorrenti, Questo può consentire l'acquisizione di un vantaggio specifico, ovvero applicare prezzi inferiori ai concorrenti e sottrargli clientela.
  3. Scraping di contatti - numerosi siti web contengono indirizzi e-mail e numeri di telefono non crittografati. Effettuando lo scraping di pagine contenenti, ad esempio, elenchi online dei dipendenti di un'azienda, uno scraper può raccogliere informazioni di contatto da utilizzare per invii massivi di e-mail commerciali, chiamate automatiche o tentativi di social engineering pericolosi. Lo scraping è uno dei metodi principali utilizzati da spammer e truffatori per trovare nuovi bersagli.

Qual è la differenza tra lo scraping e il crawling dei dati?

Il crawling è l'attività che i grossi motori di ricerca, come Google, intraprendono quando spediscono i loro robot crawler, come Googlebot, nella rete per indicizzare i contenuti di Internet. Lo scraping, invece, è un'attività strutturata specificamente per estrarre dati da uno specifico sito web.

Queste sono tre differenze comportamentali tra i bot scraper e i crawler:

  Onestà/trasparenza Manovre avanzate Conformità al file robots.txt
I bot di scraping Si comportano come dei browser, nel tentativo di eludere le contromisure esistenti per bloccarli. Possono effettuare azioni avanzate, come compilare dei moduli, per accedere a informazioni riservate. In genere, non rispettano quanto indicato nel file robots.txt. Questo significa che possono estrarre dei contenuti violando esplicitamente la volontà del proprietario di un sito.
I bot crawler Manifestano esplicitamente la loro finalità e non cercano di ingannare un sito facendogli pensare di essere qualcosa che non sono. Non provano ad accedere alle sezioni protette di un sito web. Rispettano il file robots.txt, e si conformano alla volontà del proprietario del sito circa i dati che è lecito estrarre e le aree del sito web che invece sono interdette.

Come avviene lo scraping di un sito web?

Il processo di web scraping è abbastanza semplice, anche se la sua implementazione può essere complessa. Possiamo riassumere il processo in tre fasi:

  1. Innanzitutto, il blocco di codice utilizzato per estrarre le informazioni (il bot scraper) invia una richiesta HTTP GET a un sito web specifico.
  2. Quando il sito risponde, lo scraper analizza il documento HTML alla ricerca di una sequenza specifica di dati.
  3. Una volta estrapolati, i dati vengono convertiti in qualsivoglia formato specifico progettato dall'autore dello scraper.

In genere, le aziende non vogliono che i propri contenuti vengano scaricati e riutilizzati per scopi non autorizzati, quindi possono cercare di non esporre tutti i dati tramite un'API utilizzabile o altre risorse facilmente accessibili. I bot di scraping, dall'altra parte, sono interessati a ottenere i dati dei siti web indipendentemente da eventuali tentativi di limitazione dell'accesso. Di conseguenza, questi bot e le diverse strategie di protezione dei contenuti sono costantemente impegnati a giocare al gatto col topo, nel tentativo di avere la meglio gli uni sugli altri.

Come si può mitigare il web scraping?

Le strategie di scraping intelligenti richiedono strategie di mitigazione altrettanto intelligenti. I metodi per limitare l'esposizione alle attività di data scraping includono i seguenti:

  1. Limitazione della frequenza delle richieste - per un visitatore umano che clicchi lungo una serie di pagine di un sito, la velocità di interazione col sito stesso è piuttosto prevedibile: non è infatti possibile che un umano visiti in rapida successione, ad esempio, 100 pagine al secondo. I computer, d'altro canto, possono effettuare richieste ad una rapidità di svariati ordini di grandezza maggiore rispetto a un essere umano, e gli scraper "novizi" possono essere tentati dall'utilizzare tecniche di scraping non regolato per lavorare un intero sito in pochi secondi. Limitando il numero di richieste che un dato indirizzo IP è autorizzato a eseguire in un determinato intervallo di tempo, i siti web possono proteggersi da richieste di natura strumentale, e di limitare il volume di scraping effettuabile in quell'intervallo.
  2. Modifica a intervalli regolari del markup HTML - i bot di scraping fanno affidamento su una formattazione omogenea per poter scorrere in modo efficace i contenuti di un sito, analizzarli e salvare i dati utili. Uno dei metodi usati per interrompere questo flusso di lavoro consiste nel modificare, a cadenze regolari, gli elementi del markup HTML. Con l'annidamento di elementi HTML, o modificando altri aspetti del markup, i tentativi più semplici di scraping verranno impediti o grandemente ostacolati. Ad esempio, alcuni siti randomizzano una qualche forma di modifica della protezione dei contenuti ogni volta che viene visualizzata una pagina ; altri aggiornano il loro front-end ogni tot di settimane, per impedire attività di data scraping a lungo termine.
  3. Utilizzo di challenge per richiedenti dai volumi elevati - un'altra misura utile a rallentare gli scraper è richiedere che i visitatori di un sito rispondano a una challenge che per un computer risulti praticamente insormontabile. Mentre un essere umano può ragionevolmente rispondere alla sfida, un browser headless* molto probabilmente non può, certamente non in molte istanze della sfida.
  4. Un altro metodo di mitigazione meno comune prevede l'incorporazione di contenuti all'interno di oggetti multimediali, come le immagini. Poiché il contenuto non esiste in una stringa di caratteri, copiarlo è molto più complesso, e per l'estrazione dei dati da un file immagine è necessario il riconoscimento ottico dei caratteri (OCR).

*Un browser headless è un tipo di browser web, molto simile a Chrome o Firefox, ma non dispone di un'interfaccia utente visiva, cos che gli consente di muoversi molto più velocemente rispetto a un browser classico. Poiché un browser headless gira a livello di riga di comando, non è necessario che esegua il rendering di intere applicazioni web. Gli scraper di dati scrivono bot che utilizzano browser headless per richiedere i dati più velocemente, poiché nessun umano visualizza ogni pagina sottoposta a scraping

In che modo è possibile fermare del tutto il web scraping?

L'unico modo per arrestare definitivamente lo scraping è cessare di pubblicare contenuti su un sito. Tuttavia, l'utilizzo di una soluzione avanzata di gestione dei bot può aiutare i siti a eliminare l'accesso per i bot scraper.

Proteggiti dagli attacchi di scraping con Cloudflare

Cloudflare Bot Management utilizza l'apprendimento automatico e l'analisi comportamentale per identificare le attività di scraping dannose, proteggendo contenuti specifici e impedendo ai bot di sfruttare proprietà web. Allo stesso modo, la modalità Super Bot Fight è progettata per aiutare le organizzazioni più piccole a difendersi da scraper e altre attività bot dannose, offrendo loro maggiore visibilità sul traffico dei bot.

DOMANDE FREQUENTI

Che cosa è lo scraping dei dati?

Lo scraping dei dati è una tecnica in cui un programma informatico estrae dati dall'output di un altro programma. Una forma comune di questo è il web scraping

Quali sono i diversi tipi di scraping?

Il Web scraping può essere utilizzato per molti scopi, tra cui: Content scraping: un aggressore estrae il contenuto di un sito web per replicarlo sul proprio sito. Price scraping: un concorrente estrae dati sui prezzi per ottenere un vantaggio abbassando i prezzi. Scraping dei contatti: un bot raccoglie dettagli di contatto come indirizzi email e numeri di telefono dai siti web per utilizzarli a scopo di spam, chiamate automatiche o social engineering dannosa.

Qual è la differenza tra lo scraping e il crawling dei dati?

Il web crawling è il processo utilizzato dai principali motori di ricerca per indicizzare i contenuti di Internet, e i bot di crawling sono generalmente trasparenti riguardo al loro scopo. Lo scraping di dati, invece, è tipicamente concepito per estrarre dati specifici da un sito web specifico.

Come avviene lo scraping dei siti web?

Il processo prevede in genere tre fasi. Innanzitutto, un bot scraper invia una richiesta HTTP GET a un sito Web. In secondo luogo, quando il sito web risponde, lo scraper analizza il documento HTML alla ricerca di una sequenza specifica di dati. Infine, i dati estratti vengono convertiti in un formato specifico progettato dall'autore del bot.

Come si può mitigare il data scraping?

Esistono diverse strategie che possono limitare l'esposizione al data scraping. Tra queste rientrano le richieste di limitazione della velocità per bloccare il traffico anormalmente veloce proveniente da un singolo indirizzo IP, la modifica regolare del markup HTML di un sito web per interrompere gli scraper semplici e l'utilizzo di sfide come i CAPTCHA per i richiedenti ad alto volume.

È possibile fermare del tutto il Web scraping?

Tuttavia, l'utilizzo di una soluzione avanzata di gestione dei bot può aiutare i siti a eliminare l'accesso per i bot scraper. Cloudflare Bot Management, ad esempio, utilizza il machine learning e l'analisi comportamentale per identificare e bloccare le attività di scraping dannoso.