Web scraping: che cos’è e come funziona. In questo articolo ho il piacere di introdurti al mondo del web scraping che scoprirai passo-passo nella lettura di questo articolo.
L’attività del web scraping è eterogenea e altrettanto variopinta: i suoi utilizzi e le sue stesse modalità d’uso sono differenti a seconda di tante situazioni. Per questo ho scritto questo articolo dove scopriremo assieme tutto questo, ma prima permettimi di presentarmi!
Il mio nome è Lorenzo Neri e sono un informatico: mi occupo di realizzare contenuti che aiutino persone come te a padroneggiare l’arte del nuovo millennio, l’informatica!
Devi sapere che questo articolo così come tanti altri sono frutto dei miei sbagli nel corso della mia vita lavorativa: poi però a un certo punto ho deciso di cambiare rotta.
Come? Documentando.
Documentando con vari articoli che possano aiutare persone come te che mi stai leggendo a risolvere gli stessi problemi che ho incontrato io.
Ciò detto, iniziamo a capire che cos’è il web scraping.
Web scraping: che cos’è?
C’è da fare una precisazione aggiuntiva. È possibile che tu abbia sentito nominare il “web scraping” differentemente: Web harvesting, web data extraction, estrazione dati dal web, anche screen scraping talvolta. Se ti stai chiedendo cosa sono tutte queste cose beh… Sono la stessa cosa 😀
In modo abbastanza sintetico, ci troviamo di fronte a questo scenario:

In tantissimi casi, ciò che viene visualizzato nel tuo browser web quando visiti un sito e una pagina in particolare di questo sito, non può essere scaricato o comunque non può essere copiato.
Preciso: non può essere né scaricato né copiato a meno che tu non ti metta manualmente a fare ciò.
Ora, immagina di voler copia-incollare il contenuto di una tabella paginata.
Per “tabella paginata” intendo qualcosa come questa:

Si tratta di una tabella che, per poter ottimizzare il sito web, crea tante pagine quanti sono gli elementi che la popolano diviso il numero di righe visualizzate per pagina.
Ecco, immagina di ripetere manualmente come dicevamo prima, il processo di copia-incolla: ci metti una vita, ed è tempo che viene letteralmente sprecato.
Quindi, partiamo dal problema che risolvere il web scraping.
Il web scraping è quell’insieme di attività che permettono di automatizzare i processi di estrazione dati dai siti web.
Ma non solo: permette anche di automatizzare diverse operazioni che diversamente dovresti fare in manuale.
Per intenderci possiamo fare l’esempio del ripetere l’invio di un messaggio a diversi tuoi amici tramite la chat Facebook: tutte quelle operazioni di punta e clicca, tutto ciò che concerne il copiare, incollare e inviare il messaggio… Tutto in automatico!
Quindi, per rispondere in modo più pulito alla domanda “Che cos’è il web scraping?” la risposta sarebbe la seguente:
Il web scraping è quell’insieme di attività tradotte in codice che permettono di automatizzare il comportamento di un essere umano su browser web al fine di risparmiare tempo e raccogliere dati o automatizzare processi.
E qui di fatto, veniamo al secondo punto legato al web scraping.
Web scraping: come funziona?
Nel disegnino orrendo che ti ho fatto prima, avrai notato che oltre al browser web ci sono altri due attori.
Il primo è lo scraper.
Lo scraper non è nient’altro che il codice o il software che si occupa di automatizzare tutta quella serie di operazioni menzionate prima.
Per intenderci, facciamo un esempio.
Devi generare un file CSV da un sito web. Per farlo, devi eseguire il login, per poi copia-incollare i dati presenti su una tabella paginata. Quindi, una volta copiati i dati della pagina, dovrai cliccare per andare alla successiva. Il processo termina, ovviamente, quando non ci sono più pagine da cui prendere i dati.
Tutta questa serie di operazioni viene tramutata in codice oppure processi con alcuni tool che mette a disposizione il web stesso per chi non è pratico di sviluppo software.
Tutto qui?
No.
Lo scraper non è solo automatismi da tradurre
Lo scraper di per sé, non è solo automatismo: esso simula un utente.
Per far sì che gli elementi citati ad inizio articolo presenti sulla pagina web possano essere davvero usati c’è bisogno DAVVERO di un browser web.
Di fatto, lo scraper, una volta impostato o realizzato si “inserirà nel browser web” affinché possa simulare l’utente che farebbe quella serie di operazioni o automatismi citati in precedenza.
Quindi, per chiudere il cerchio del “come funziona un web scraper”, oltre agli automatismi citati fino al vomito, c’è anche la parte del driver.
Il driver, o meglio detto, il web driver, è un elemento che si interfaccia con il browser web desiderato e il codice che abbiamo realizzato per dare vita agli automatismi stessi.
A proposito di web driver, ne ho parlato in questo articolo che ti consiglio caldamente!
C’è modo di vedere qualche esempio di web scraping?
Assolutamente sì.
Sul mio sito web, ho realizzato diversi articoli che spiegano come usare Selenium in Python. Ho scelto Python poiché è di immediata realizzazione per il web scraping: che significa? Significa che puoi realizzare in tempi rapidi script per dare vita alle tue operazioni di web scraping.
Li puoi trovare tutti quanti a distanza di un click qui.
Ma non solo.
Per darti anche un caso d’uso sul web scraping, te ne voglio parlare proprio ora.
PayPal, tramite le API che offre agli sviluppatori non c’era un metodo per scaricare tutti gli abbonati legati ad un profilo business.
Cosa potevo fare? Mettermi a fare copia-incolla con il continuo cliccare di pagina in pagina? Cavolo no!
Ho realizzato un web scraper che permettesse di automatizzare il processo.
Ed è anche gratis.
Perchè? Perché lo puoi trovare sul mio profilo Github, per la precisione proprio qui.
Chiarito che cos’è e come funziona il web scraping, la cosa migliore che tu possa fare è continuare ad approfondire all’interno di questo blog e del materiale che ti ho lasciato 😉