I motori di ricerca come Google uti­liz­za­no da tempo i co­sid­det­ti crawler che cercano termini definiti dall’utente su Internet. I crawler sono bot speciali che visitano ciascun sito web sin­go­lar­men­te per creare as­so­cia­zio­ni tra termini di ricerca e clas­si­fi­car­li. Il primo crawler è stato lanciato nel 1993, quando è stato in­tro­dot­to il primo motore di ricerca, Jump­sta­tion.

Il web scraping o web har­ve­sting è una tecnica di crawling. Vi spie­ghia­mo come funziona, a cosa serve esat­ta­men­te e come bloccarlo se ne­ces­sa­rio.

Web scraping: una de­fi­ni­zio­ne

Il web scraping (scraping in inglese significa “raschiare/scalfire”) estrae e memorizza i dati dalle pagine web, ad esempio, per scopi di analisi o per altri tipi di va­lu­ta­zio­ne. Durante lo scraping vengono raccolti molti tipi diversi di in­for­ma­zio­ni. Può trattarsi, ad esempio, di in­for­ma­zio­ni di contatto, come indirizzi di posta elet­tro­ni­ca o numeri di telefono, ma anche di singoli termini di ricerca o URL. Questi vengono quindi raccolti in database o tabelle locali.

De­fi­ni­zio­ne
Web scraping: Il web scraping estrae i testi dalle pagine web per ottenere e me­mo­riz­za­re in­for­ma­zio­ni. È pa­ra­go­na­bi­le a un processo au­to­ma­ti­co di copia e incolla. Nel caso d’immagini, il processo è chiamato image scraping.

Come funziona il web scraping?

Esistono diverse tecniche di scraping, ma ge­ne­ral­men­te si distingue tra scraping manuale e au­to­ma­ti­co. Per scraping manuale s’intende il processo manuale di copia e incolla di in­for­ma­zio­ni e dati. Questo può essere pa­ra­go­na­to all’attività di ritaglio e raccolta di articoli di giornale. Lo scraping manuale viene eseguito solo se si desidera trovare e me­mo­riz­za­re in­for­ma­zio­ni singole. È un processo molto im­pe­gna­ti­vo che viene uti­liz­za­to raramente per grandi quantità di dati.

Lo scraping au­to­ma­ti­co utilizza invece un software o un algoritmo che ricerca più pagine web per estrarre in­for­ma­zio­ni. Per questo esistono software specifici, a seconda del tipo di sito web e di contenuti ricercati. Nel caso dello scraping au­to­ma­ti­co, si di­stin­guo­no diverse tecniche:

  • Parser: un parser (o tra­dut­to­re) viene uti­liz­za­to per con­ver­ti­re il testo in una struttura nuova. Ad esempio, nell’analisi HTML, il software legge un documento HTML e memorizza le in­for­ma­zio­ni. Il parsing DOM utilizza la vi­sua­liz­za­zio­ne lato client del contenuto nel browser per estrarre i dati.
  • Bot: un bot è un software in­for­ma­ti­co dedicato a compiti specifici che vengono au­to­ma­tiz­za­ti. Il web har­ve­sting utilizza i bot per navigare au­to­ma­ti­ca­men­te nei siti web e rac­co­glie­re dati.
  • Text: se si ha fa­mi­lia­ri­tà con la riga di comando, è possibile uti­liz­za­re i comandi Unix grep per cercare termini specifici in Python o Perl sul web. Questo è un modo molto semplice per estrarre i dati, ma richiede più lavoro rispetto all’utilizzo di un software.
N.B.

Nel tutorial web Scraping con Python vi mostriamo a cosa prestare at­ten­zio­ne. Per rac­co­glie­re dati è possibile integrare fa­cil­men­te anche Selenium WebDriver.

A cosa serve il web scraping?

Il web scraping viene uti­liz­za­to per diversi scopi. Ad esempio, permette di rac­co­glie­re ra­pi­da­men­te i dati di contatto o in­for­ma­zio­ni spe­ci­fi­che. Nel settore pro­fes­sio­na­le, il processo di scraping viene spesso uti­liz­za­to per ottenere vantaggi com­pe­ti­ti­vi rispetto ai con­cor­ren­ti. La raccolta dei dati, co­no­sciu­ta nel settore anche come “har­ve­sting dei dati”, consente a un’azienda di vi­sua­liz­za­re tutti i prodotti di un con­cor­ren­te e con­fron­tar­li con i propri. Il web scraping apporta valore aggiunto anche in termini di dati fi­nan­zia­ri: le in­for­ma­zio­ni vengono lette da un sito web esterno e tra­sfe­ri­te sotto forma di tabella per poi essere ana­liz­za­te e ul­te­rior­men­te elaborate.

Un buon esempio di web scraping è Google. Il motore di ricerca utilizza questa tec­no­lo­gia per vi­sua­liz­za­re in­for­ma­zio­ni me­teo­ro­lo­gi­che o con­fron­ta­re i prezzi di hotel e voli. Anche molti portali di confronto dei prezzi uti­liz­za­no lo scraping per vi­sua­liz­za­re in­for­ma­zio­ni di molti siti web e di diversi fornitori.

Il web scraping è legale?

Lo scraping non sempre è legale e gli scraper (coloro che praticano lo scraping) devono in­nan­zi­tut­to ri­spet­ta­re i diritti d’autore di un sito web. Il web scraping può avere con­se­guen­ze piuttosto negative per alcuni negozi e fornitori web, ad esempio, se questo influisce sul po­si­zio­na­men­to del sito nei motori di ricerca tramite ag­gre­ga­to­ri. Non è raro quindi per un’azienda querelare un portale di confronto al fine di prevenire il web scraping. In Germania, ad esempio, la Corte d’Appello di Fran­co­for­te ha stabilito nel 2009, in un caso simile, che una compagnia aerea deve con­sen­ti­re lo scraping at­tra­ver­so portali di confronto dal momento che le sue in­for­ma­zio­ni sono, in ultima analisi, li­be­ra­men­te ac­ces­si­bi­li. La compagnia aerea aveva, comunque, la pos­si­bi­li­tà di adottare misure tecniche per prevenire lo scraping.

La questione è stata af­fron­ta­ta anche dalla Corte di Giustizia dell’Unione Europea e dal Garante per la privacy (AGCOM) in tempi più recenti, dove è stato anche stabilito che se un sito in questione proibisce espli­ci­ta­men­te nelle sue con­di­zio­ni l’uso di software di scraping o crawling, chi non rispetta queste in­di­ca­zio­ni può incorrere in sanzioni.

Lo Scraping è quindi legale se i dati estratti sono li­be­ra­men­te ac­ces­si­bi­li a terzi sul web. Per essere al sicuro dal punto di vista legale quando si utilizza il web scraping è quindi ne­ces­sa­rio con­si­de­ra­re quanto segue:

  • Ve­ri­fi­ca­re e ri­spet­ta­re i diritti d’autore. Se i dati sono protetti dal diritto d’autore, non devono essere pub­bli­ca­ti altrove.
  • Gli operatori del sito hanno il diritto di in­stal­la­re misure tecniche che im­pe­di­sco­no il web scraping. Queste non devono essere aggirate.
  • Se l’utilizzo dei dati è correlato al login dell’utente o a un contratto di utilizzo, non devono essere sot­to­po­sti a scraping.
  • Non è con­sen­ti­to na­scon­de­re annunci pub­bli­ci­ta­ri, termini di utilizzo o di­sclai­mer con la tec­no­lo­gia di scraping.

Sebbene lo scraping sia in molti casi con­sen­ti­to, può cer­ta­men­te essere uti­liz­za­to in modo improprio per scopi di­strut­ti­vi o ad­di­rit­tu­ra illegali. La tec­no­lo­gia viene, ad esempio, spesso uti­liz­za­ta per lo spam. Gli spammer possono ser­vir­se­ne per rac­co­glie­re indirizzi e-mail e inviare e-mail di spam a questi de­sti­na­ta­ri.

Come bloccare il web scraping

I gestori di un sito web possono adottare varie misure per bloccare lo scraping. Il file robots.txt viene, ad esempio, uti­liz­za­to per bloccare i bot dei motori di ricerca. Di con­se­guen­za, im­pe­di­sco­no anche lo scraping au­to­ma­ti­co da parte dei bot software. Anche gli indirizzi IP dei bot possono essere bloccati. I dati di contatto e le in­for­ma­zio­ni personali possono essere nascosti in modo mirato. I dati sensibili, come i numeri di telefono, possono anche essere me­mo­riz­za­ti sotto forma d’immagine o come CSS, con­tra­stan­do lo scraping dei dati. Inoltre, ci sono numerosi fornitori a pagamento di servizi antibot che possono con­fi­gu­ra­re un firewall. Anche Google Search Console può essere uti­liz­za­to per impostare notifiche che avvisano gli am­mi­ni­stra­to­ri del sito web quando i loro dati sono stati sot­to­po­sti a scraping.

Vi preghiamo di osservare la nota legale relativa a questo articolo.

Vai al menu prin­ci­pa­le