Cos’è il web scraping
Il web scraping è una tecnica per l’estrapolazione dei dati da una pagina web. In termini informatici il web scraping è definito come una tecnica di crawling, dove i crawler sono dei bot automatici che si occupano della creazione di associazioni tra le varie parole presenti in un testo (es. i motori di ricerca hanno questo funzionamento).
L’azione di web scraping (o web harvesting), come dice stesso la sua traduzione, sta nel “raschiare” il web e quindi nell’effettuare una ricerca in tutta la pagina o sito web di informazioni richieste dal programmatore, estrarre i dati e memorizzarli in un database preesistente.
Quali sono le tecniche usate per lo scraping
Vi sorprendereste se vi dicessi che anche voi fate web scraping? Ebbene sì!
Quando vi ritrovate su un sito di vostro interesse e utilizzate la funzione “copia” per poi incollare quell’informazione da tutt’altra parte, state effettuando, tra molte virgolette, web scraping.
Ovviamente c’è chi si occupa di questo per lavoro e non si tratta di un banale copia e incolla manuale del testo.
Esistono infatti dei web scraper che permettono automaticamente l’estrazione di dati ben più rilevanti da parte degli analisti.
Questo scraping automatico si basa su linguaggi di programmazione e specifici algoritmi che permettono di lanciare una ricerca in un intero sito web con la sola esecuzione di un programma.
Ci sono diverse tecniche per l’estrazione di dati:
Il parsing HTML
Il parsing HTML è una tipologia di scraping che consiste nella lettura da parte dell’algoritmo di un intero documento HTML, la memorizzazione dello stesso, per poi convertirlo in una struttura tutta nuova con le informazioni di maggiore interesse.
Un’altra variante del parsing HTML è il parsing DOM che permette di analizzare il codice di una pagina solo nel suo lato client per estrarre i dati.
Il machine learning
Altre tecniche per analizzare e visualizzare i dati estratti sono date dal machine learning con il quale si stanno sviluppando dei software (in questo campo vengono chiamati bot) in grado di simulare la navigazione web che effettuerebbe un analista quando è in fase di scraping manuale, automatizzando e ottimizzando le funzioni rendendole più rapide.
Di questi programmi si vengono spesso a creare degli interi sistemi verticali automatizzati per una raccolta dati continua nella quale l’analista dovrà soltanto avviare il programma.
Linguaggi di programmazione
Ed infine, con i linguaggi di programmazione, esistono linguaggi del calibro di Python che, con l’esecuzione di determinate funzioni e algoritmi danno la possibilità all’utilizzatore di estrarre i dati che più degli altri gli sono di interesse.
Prendendo in considerazione il fatto che Python può essere utilizzato in più settori, seguire un corso python online è la soluzione ideale per chi ha voglia di imparare un linguaggio così semplice, ma dai grandi utilizzi.
Che utilità ha il web scraping
Un esempio delle potenzialità del web scraping è l’uso che ne fa Google, come dicevamo, i motori di ricerca sono tra le prime aziende ad usufruire di queste tecniche.
Se un utente dovesse fare una ricerca su Google riguardante i ristoranti vegetariani aperti in una determinata zona, la prima scheda che verrà fuori sarà il risultato dell’analisi dei programmi automatizzati di Google fanno su tutte le pagine web di ristorazione riportando però solo quelle che presentano le caratteristiche fatte nella ricerca, ovvero: deve essere vegetariano, deve essere aperto all’ora in cui viene fatta la ricerca e deve trovarsi nella zona indicata dall’utente che ha fatto questa ricerca.
Da uno scraping di questo genere chi ne trae maggior beneficio è l’utente finale, ma dov’è il guadagno per un’azienda?
Pensiamo, per esempio, ad un’azienda che sta per lanciare sul mercato il proprio prodotto, la prima cosa che verrà fatta sarà deciderne il prezzo in relazione al lavoro svolto per produrre una sola unità di quel bene e il mercato di riferimento e, di conseguenza, valutare i prezzi che i competitor hanno per la messa in commercio dello stesso prodotto o di beni simili.
Questa seconda analisi può essere affidata a degli analisti che, attraverso tecniche di web scraping, estrarranno informazioni riguardanti i costi di quei prodotti sui vari siti web.
Ci sono dei rischi nell’utilizzo di questa tecnica?
La risposta a questa domanda è sì, ci sono tanti rischi correlati all’uso di questa tecnica.
L’analista o scraper, potrà solo estrarre le informazioni che su un sito web sono visibili, il che potrebbe sembrare scontato da dire ma non lo è.
Si verificano spesso casi in cui questa tecnica viene utilizzata, per esempio, nell’e mail marketing (l’invio di proposte commerciali tramite mail) ad indirizzi di posta elettronica che non hanno nessun tipo di attinenza con la proposta commerciale, ma che in realtà sono stati “raschiati” da altri siti. Questo tipo di utilizzo dello scraping è illegale in quanto viene svolto su dati non di pubblico dominio.
Rimedi per lo scraping dei dati
Per molti possessori di siti web queste tecniche non vengono viste come uno strumento di analisi e di studio del mercato con scopi propositivi, ma vengono subito etichettati come strumenti per impadronirsi di grandi quantità di dati altrimenti non visibili.
Di conseguenza, si può arginare il data mining dai siti web?
Anche in questo caso la risposta è sì ed esistono vari metodi per poterlo fare:
La prima tecnica è bloccare manualmente gli indirizzi ip dai quali provengono questi “attacchi”, basandosi sulla geolocalizzazione o sugli indirizzi ip che vengono fuori interrogando il DNS.
La seconda tecnica consiste nell’usare dei file robots.txt, dei programmi nati con il solo intento di bloccare i bot utilizzati come web scraping.
Il terzo metodo consiste nell’inserire nel codice sorgente del sito delle stringhe in HTML che permettono di limitare l’estrazione di dati consentendola solo in determinati punti di quel codice.
Con questa metodologia non sarà neanche necessario l’intervento da parte dello sviluppatore in seguito alla pubblicazione del sito.
Per ultimo, nella maggior parte dei casi queste tecniche possono essere arginate con i diritti di autore.
Chi pone dei diritti d’autore sulle proprie pubblicazioni non rende i dati di quel sito analizzabili per legge, nonostante siano pubblici e tutti li possano vedere.