La mole enorme di dati disponibili su Internet, con tutto il potenziale che ne deriva, richiede tecniche specifiche e grande attenzione per essere sfruttata positivamente e appieno. E quando si parla di raccolta e uso dei dati presenti online entrano in gioco il “Web Crawling” e il “Web Scraping”.
Tuttavia, sin dalla sua introduzione, il termine “Web Scraping” è stato associato alla questione della sua legittimità e legalità. Ancora oggi, non a caso, il Web Crawling e lo Scraping sono spesso considerati termini legati al cyber crimine o comunque a pratiche non etiche. Questa “verità” però non è del tutto vera. In questo articolo faremo chiarezza sui miti che circondano questi due termini e capiremo come effettuare il crawling e lo scraping del web in modo etico.
Web Crawling e Web Scraping: definizioni
Partiamo dalle basi e iniziamo con le definizioni. Il Web Scraping è il processo automatizzato di estrazione dei dati o di raccolta di informazioni da una specifica pagina web. Lo scopo originario era quello di semplificare l’uso del World Wide Web.
Proprio come una biblioteca infinita, con una infinita fornitura di libri che richiede all’utente un’esplorazione meticolosa di ogni scaffale per trovare le informazioni che gli necessitano, così il web crawling è una tecnica di scansione approfondita di ogni sito web per creare una lista, completa, di tutte le informazioni disponibili nel web. Se il web crawling si concentra sull’individuare o scoprire URL e link nel web, il Web Scraping invece si concentra sull’estrazione dei dati da più fonti e siti web.
Ecco perchè, comunemente, un progetto di estrazione di dati dal web richiede una combinazione tra i due, ovvero sia tecniche di crawling che di scraping.
Sfatiamo i miti…
- Mito n. 1 – Il Web Scraping è Illegale:
Il web scraping è generalmente legale quando coinvolge dati pubblicamente disponibili. Tuttavia, è essenziale rispettare i termini e le condizioni dei siti web (come specificato nel file robots.txt) e evitare di violare dati personali o proprietà intellettuali. Ciò sarebbe illegale. - Mito n. 2 – I web scraper operano in una “zona grigia” della Legge:
Assolutamente no! I dati sono il petrolio di questa nostra era della comunicazione e sono uno strumento potentissimo e questo è molto chiaro alle aziende. Le aziende responsabili utilizzano tecniche di web scraping solo su dati pubblicamente disponibili e solo per scopi commerciali legittimi. Finché si aderisce a pratiche etiche e si rispettano i confini legali, il web scraping non si trova in una zona grigia ed anzi è perfettamente legale. - Mito n. 3 – Il Web Scraping è come il cyber crimine:
Il web scraping, se finalizzato all’accesso a dati che sono consultabili pubblicamente ad un qualsiasi utente, è molto diverso dall’hacking. Un hacker black hat (criminale) accede invece a informazioni che non sono di pubblico dominio: nei fatti commette un’infrazione e la raccolta di quei dati è, in tutto e per tutto, un furto. - Mito n. 4 – I web scrapers rubano i dati:
Spieghiamolo con un esempio. Una persona acquista dei nuovi vestiti e pubblica alcune foto sui nuovi acquisti. Queste fotografie sono pubblicamente disponibili a chiunque sia presente sul social media utilizzato. Il proprietario del negozio di vestiti presso il quale quella persona ha comprato quei vestiti per quale motivo non dovrebbe osservare quelle fotografie e raccomandare, magari, nuovi acquisti nel suo negozio? Questo comportamento può essere paragonato ad un furto? Ovviamente no. Ecco il web scraping è molto simile: fornisce informazioni utili elencando dati pubblici e disponibili a tutti. D’altronde un dato già pubblico come può essere rubato? - Al contrario, è illegale ed è un furto raccogliere e consultare senza autorizzazione dati non pubblici, protetti da login o da restrizioni.
Le leggi esistono eccome: regolamentazione e limiti
Non esiste, ovviamente, un regolamento globale che indichi in dettaglio cosa sia lecito fare o meno col web scraping. Ci sono però alcuni regolamenti che prevedono sanzioni e penali in caso di web scraping non autorizzato:
- il Digital Millennium Copyright Act (DMCA),
- il Computer Fraud and Abuse Act (CFAA),
- il GDPR,
- la violazione di contratto,
- l’infrazione del copyright,
- l’intrusione.
Questi regolamenti vietano o consentono alcune attività.
Attività di scraping legittime:
- seguire i termini e le condizioni del sito web nel quale si sta operando lo scraping dei dati (indicazioni contenute comunemente nel file robot.txt);
- raccogliere dati necessari per un uso legittimo in ambito commerciale;
- essere trasparenti su come si intende utilizzare i dati.
Attività illegittime e da evitare:
- raccogliere tutti i dati, anche oltre i limiti indicati dal sito web, può portare al blocco del tuo scraper;
- utilizzare lo scraping per raccogliere dati personali, critici o sensibili;
- rendere pubblici i dati raccolti con lo scraping.
Noti Contenziosi Legati allo Scraping:
- Caso eBay contro Bidder’s Edge (maggiori info):
nel corso degli anni 2000, eBay ha intentato una causa contro Bidder’s Edge, un sito web di confronto dei prezzi online per i consumatori. È stato, questo, uno dei primi casi legali noti collegato al web scraping. La sentenza che ne è seguita ha impedito a Bidder’s Edge di effettuare nuovamente lo scraping dei contenuti di eBay. L’argomento principale con cui eBay ha vinto la causa era che Bidder’s Edge stava sovraccaricando il loro sistema. Se questa tecnica si fosse diffusa anche ad altri, i danni al sistema di eBay avrebbero potuto essere anche maggiori. - Caso Facebook contro Power Ventures (maggiori info):
nel 2009, Facebook ha intrapreso un’azione legale contro Power Ventures per l’estrazione dei contenuti caricati dai suoi utenti. Questo procedimento ha stabilito un precedente: per la prima volta il web scraping è stato valutato dal punto di vista della proprietà intellettuale. Il tribunale ha dato ragione a Facebook e ha ordinato una sanzione piuttosto pesante per Power Ventures. - Caso Linkedin contro hiQ Labs (maggior info):
questo è uno dei principali processi per web scraping ed è iniziato nel 2019. HiQ Labs, che si occupa di data analytics, è stata trascinata in giudizio da Linkedin per aver “scrapato” i dati pubblicamente disponibili dai profili degli iscritti al noto social di networking lavorativo. Lo scopo era quello di eseguire uno studio analitico sulle skill professionali disponibili.
Lo scraping del web non è illegale: ecco come farlo in maniera etica
Ora veniamo al cuore del nostro argomento: quali limiti è doveroso e obbligatorio rispettare per godere dei vantaggi del web scraping senza infrangere le normative e l’etica?
- Verifica e segui SEMPRE le indicazioni contenute nel file “robots.txt”
il file robots.txt è compilato dal proprietario di un sito web ed è un protocollo di esclusione. Impedisce ai bot o agli scraper web di avere accesso ai dati contenuti in determinate parti o pagine del sito web. E’ un’intimazione a non accedere a determinati dati. - Abilita un User Agent adeguato:
Se il sito web da cui intendi fare lo scraping contiene principalmente dati statici, hai la possibilità di utilizzare la sua versione in cache. Estrarre i dati dalla copia in cache di Google del sito assicura che tu possa evitare preoccupazioni riguardo alla rilevazione o al blocco completo. - Riduci la velocità di scraping e effettua il crawling durante le ore con minor traffico:
in teoria i web scraper legali dovrebbero agire come esseri umani che accedono ad un sito web per ottenere dati pubblicamente disponibili. C’è un problema però: i cralwer web possono spostarsi tra le pagine a velocità che gli esseri umani non possono raggiungere. E’ qui che, molto spesso, si attivano i meccanismi di difesa dei siti web, che individuano e bloccano bot e crawler. Inoltre, ci sono maggiori possibilità che i crawler vengano bloccati durante le ore di punta, quando, rispetto agli utenti umani, i crawler possono causare un carico maggiore sul server. Anche in questo caso, le conseguenze possono arrivare al blocco dei bot per evitare che l’interfaccia utente di altri utenti venga compromessa. - Ruota gli Indirizzi IP:
i siti web sicuri prevedono sempre meccanismi per bloccare gli indirizzi IP che effettuano richieste continue ed eccessive. In modo migliore di evitare di essere bloccati in situazioni del genere è ruotare il tuo indirizzo IP. - Esegui lo scraping dalla Cache di Google:
Se il sito web da cui desideri fare lo scraping ha dati relativamente statici, puoi optare per l’uso di una versione in cache del sito. Eseguendo lo scraping dei dati dalla versione in cache di Google del sito, puoi evitare preoccupazioni riguardo alla rilevazione o al blocco completo. Sintassi: http://webcache.googleusercontent.com/search?q=cache:URL.
Traduzione dell’articolo originale di Pratik Raosaheb Kadam, Quick Heal Security Labs