Il web scraping, dall’inglese to scrape (grattare/raschiare), è una particolare tecnica di web mining, ovvero di raccolta e organizzazione di informazioni presenti sul web. Insieme al web crawling, che è un software in grado di indicizzare in modo automatico le pagine di un sito, analizzare i collegamenti ipertestuali, trovare associazioni tra termini di ricerca e classificarli, il web scraping serve a estrarre dati dalle pagine web per poi raccoglierli in database o tabelle locali per analizzarli. Si tratta di un sistema in grado di estrapolare una grande varietà di informazioni: dati di contatto, indirizzi di posta elettronica, numeri di telefono, così come singoli termini di ricerca o URL.
Il web scraping, anche chiamato scraping di dati, content scraping o semplicemente scraping, è una tecnica che permette di prelevare informazioni dalle pagine web. Lo scopo di questa tecnica è infatti quello di identificare in automatico dati rilevanti all’interno delle pagine web, recuperarli e poi conservarli come dati strutturati. L’obiettivo è avere i dati prelevati in un formato che permette di accedere facilmente alle informazioni e che permette di riutilizzarle, per esempio un file Excel. Lo strumento di web scraping viene usato per inviare una richiesta HTTP al server. Dopo che il server risponde e consente allo strumento di accedere al sito, lo strumento può analizzare, per la precisione fare il parsing, delle informazioni nella pagina. Uno dei linguaggi di programmazione più utilizzati per il web scraping è Python.
Alla base della creazione del proprio web scraper c’è l’analisi del sito che ci interessa. Un crawler o web crawler è un bot che visita i siti web per indicizzare i contenuti e seguire i collegamenti presenti all’interno di ogni pagina. I motori di ricerca come Google utilizzano i crawler per aggiungere al loro indice i contenuti delle pagine web.
Tecniche di Web Scraping
Fondamentalmente vengono utilizzati due metodi per fare web scraping. Esiste lo scraping manuale, che consiste in un processo di copia e incolla di singole informazioni, utilizzato quando si desidera trovare e memorizzare informazioni mirate, raramente impiegato per grandi quantità di dati a causa dei lunghi tempi di recupero e catalogazione. Di più larga diffusione è invece lo scraping automatico realizzato attraverso l’uso di software - come Zoominfo, Octoparse, Lusha e Hunter.io - o di un algoritmo che scansiona più pagine web.
La forma basilare di scraping dei dati è proprio la copia manuale dei contenuti di un sito. Le diverse tecniche possono anche essere combinate tra loro, ad esempio dopo aver usato una tecnica automatizzata e non essere riusciti a recuperare tutte le informazioni che volevamo, è possibile usare un sistema manuale per completare le informazioni.
Leggi anche: Consigli Deck Gladiatore Bestia
L'Evoluzione del Web Scraping: API e Intelligenza Artificiale
Negli ultimi anni le tecniche automatiche si sono evolute in varie direzioni. Con la crescente diffusione di applicazioni mobili è emerso lo scraping delle API (Application Programming Interface), metodo facilitato dal fatto che le app solitamente adottano protezioni anti-scraping inferiori rispetto ai siti web.
L’implementazione dell’Intelligenza Artificiale (IA) è stata un’ulteriore svolta per i processi di web scraping: grazie ad algoritmi di apprendimento e adattamento è diventato possibile interagire automaticamente con elementi web dinamici e interattivi senza che sia necessario riconfigurare frequentemente i sistemi. L’IA rende più semplice e precisa anche l’estrazione e l’analisi dei dati grazie alla capacità di riconoscere contenuti multimediali come immagini e video e di riconoscere il sentiment e il contesto di recensioni e commenti.
L'Intelligenza Artificiale nel Web Scraping (AI Scraping)
L’AI ha aperto tantissime nuove opportunità nel modo di raccogliere dati dal web. Probabilmente hai sentito usare termini diversi, ed è facile confondersi. Tutti questi termini indicano la stessa cosa: usare modelli di intelligenza artificiale per estrarre dati da internet. La differenza chiave rispetto allo scraping tradizionale è che l’IA comprende contenuto e contesto di una pagina. Non si affida a regole rigide come CSS selectors o espressioni XPath che si rompono ogni volta che un sito aggiorna il layout. L'AI scraping non è solo una buzzword; è un modo sostanzialmente migliore di raccogliere dati dal web.
Lo scraping tradizionale richiede competenze di programmazione. Gli strumenti di AI scraping cambiano le regole del gioco. I vecchi scraper ti costringono a ispezionare l’HTML di un sito e a scrivere regole specifiche (CSS selectors o XPath) per trovare i dati. È un processo complesso e fragile. Gli AI scraper funzionano in modo diverso: capiscono la struttura e il significato di una pagina. Non specifichi dove trovare i dati; descrivi quali dati vuoi. Dato che gli AI scraper sono molto più semplici da configurare e mantenere, l’automazione diventa immediata. Questa accessibilità cambia completamente chi può fare web scraping. Ciò che era una skill da developer è ora uno strumento per tutti.
Le applicazioni dell’AI scraping sono quasi infinite e toccano ogni area del business. Gli strumenti di AI scraping offrono approcci diversi in base al task. Questo metodo è perfetto quando hai già un punto di partenza, come uno spreadsheet con nomi di aziende o URL di prodotto. Un altro metodo è pensato per esplorare ed estrarre dati da un intero sito o da una sua sezione. Il mercato degli strumenti di AI scraping cresce velocemente. La scelta giusta dipende da skill tecniche, budget ed esigenze specifiche. Esempi includono Datablist, una piattaforma di data automation che integra potenti funzionalità di AI scraping in un’interfaccia tipo spreadsheet, facile da usare, che permette di recuperare informazioni tramite prompt in linguaggio naturale. ScrapingBee è un tool orientato ai developer che offre un’API per il web scraping. L’AI ha trasformato il web scraping da skill tecnica a strumento potente e accessibile per qualsiasi business. Poiché i modelli comprendono il contesto e la gerarchia visiva di una pagina, non solo la sua struttura di codice, si adattano automaticamente quando un sito aggiorna il layout.
Leggi anche: Strategie Glorioso Soldato Nero
Per meglio comprendere le differenze, ecco una tabella comparativa tra lo scraping tradizionale e l'AI scraping:
| Caratteristica | Scraping Tradizionale | AI Scraping |
|---|---|---|
| Logica di estrazione | Regole rigide (CSS selectors, XPath) | Comprensione del contenuto e del contesto, linguaggio naturale |
| Flessibilità | Fragile, si rompe con cambiamenti di layout | Si adatta automaticamente ai cambiamenti di layout |
| Competenze richieste | Competenze di programmazione (developer) | Accessibile a tutti, basta descrivere i dati desiderati (prompting) |
| Interazione dinamica | Difficile interagire con elementi web dinamici | Interagisce automaticamente con elementi web dinamici e interattivi |
| Analisi avanzata | Estrarre solo testo/dati strutturati | Riconosce contenuti multimediali, sentiment e contesto (recensioni, commenti) |
Gli Utilizzi del Web Scraping
Questo particolare sistema di mining assume un ruolo insostituibile per le aziende che vogliono mantenersi competitive nell’era della data economy. Il web scraping è infatti essenziale per effettuare indagini statistiche sulle preferenze dei consumatori, alla base del marketing digitale, e analizzare le nuove tendenze di mercato raccogliendo informazioni su nuovi prodotti e tecniche di produzione per adattare le proprie strategie di conseguenza. Inoltre, lo scraping viene impiegato per acquisire vantaggi competitivi anche grazie al tracciamento in tempo reale delle strategie di pricing dei concorrenti.
Applicazioni Specifiche
- Intelligence sui Prezzi e Concorrenza: L’intelligence sui prezzi è un uso comune dello scraping web. Ciò comporta la raccolta di informazioni sui prezzi di diversi prodotti da siti di e-commerce. Le informazioni vengono raccolte da una serie di siti e poi inviate all’azienda utilizzando il servizio di scraping. L’azienda utilizza quindi tali informazioni per definire la propria strategia di determinazione dei prezzi. L’intelligence sui prezzi può essere utile se si desidera costruire una struttura di prezzi dinamica che cambi in base alle condizioni del mercato. Man mano che i prezzi dei concorrenti si muovono in una direzione, puoi imitare o contrastare il movimento per offrire ai clienti un affare migliore o sfruttare il potenziale di maggiori ricavi. Per le organizzazioni di e-commerce, i bot dei web scraper possono essere usati per analisi della concorrenza, inclusi prezzi dei prodotti, sconti, inventari e numeri SKU dei prodotti, categorie e descrizioni.
- Ricerche di Mercato: Le ricerche di mercato aiutano le aziende a capire come si muove un mercato e come possono sfruttare le opportunità che questo offre. Ad esempio, è possibile utilizzare il web scraping per esaminare le tendenze di mercato riguardanti i tipi di prodotti offerti e quando.
- Dati Finanziari: Le opzioni per i dati finanziari per prendere decisioni più informate non sono mai state così ampie. Ad esempio, è possibile raccogliere dati dai documenti depositati dalla Securities and Exchange Commission (SEC) per comprendere la relativa salute delle diverse aziende. Con il web scraping, puoi anche confrontare aziende che possono provenire da settori completamente diversi, ma possono essere influenzate da elementi di mercato simili, come eventi meteorologici o prezzi delle materie prime. Le informazioni raccolte possono essere organizzate in un foglio di calcolo e quindi immesse in un diagramma di flusso dati (DFD).
- Monitoraggio delle Notizie e del Marchio: È possibile utilizzare lo scraping web per consolidare le informazioni provenienti dai report delle notizie. È quindi possibile analizzare l’effetto dei report sulle basi di un determinato mercato. Lo scraping web può anche essere utilizzato per garantire che il tuo marchio rimanga intatto da falsi report e notizie negative.
- Settore Immobiliare: Il mondo immobiliare è stato completamente trasformato dalla digitalizzazione negli ultimi anni. Puoi utilizzare un web scraper per raccogliere dati da una varietà di siti immobiliari per accertare le tendenze di prezzo, suddividendole in base alle diverse aree. Puoi anche eseguire lo scraping per confrontare l’efficacia dell’elenco su siti diversi.
- Generazione di Lead e Automazione delle Vendite: Lo scraping web apre una serie di possibilità quando si tratta di generare lead per la tua azienda. Può essere utilizzato per accedere a elenchi di lead su Internet. Utilizzando lo scraping web per migliorare l’automazione della tua azienda, puoi scoprire nuovi modi per aumentare la produttività o il volume delle vendite. Ad esempio, è possibile utilizzare uno scraper per raccogliere tutte le informazioni di vendita relative a un trimestre specifico in cui l’azienda ha registrato profitti record. Puoi quindi analizzare tutto ciò che riguarda questo periodo, come il numero di vendite, l’importo medio di ogni vendita e persino chi ha venduto cosa. Se sono stati identificati forti addetti alle vendite, puoi dare seguito chiedendo loro cosa li ha aiutati ad avere così successo durante questo periodo. Inoltre, se vuoi automatizzare gli elementi del tuo imbuto di vendita, puoi utilizzare uno scraper per scavare nel database di gestione dei lead, estraendo lead che si adattano a un determinato profilo.
Aspetti Legali e Utilizzi Illeciti del Web Scraping
A questo punto è lecito chiedersi se ci troviamo di fronte a pratiche conformi alle leggi vigenti. La risposta è sì. Tecnicamente estrarre dati dai siti web con strumenti di web scraping non è illegale. Il web scraping non è illegale a patto che i dati ‘catturati’ siano liberamente accessibili sui siti e siano usati per scopi statistici o di monitoraggio dei contenuti. Prima di procedere con lo scraping, è sempre importante leggere attentamente i termini di servizio (TOS) del sito, per verificare se l’attività è consentita. È fondamentale rispettare i termini di servizio del sito, evitare di estrarre dati personali o protetti da copyright e non sovraccaricare i server.
Tuttavia, lo scraping oltrepassa la soglia della legalità in circostanze specifiche, come la raccolta e l’utilizzo di dati personali a scopi commerciali senza il consenso degli interessati, attività che viola le norme sulla privacy. Per non parlare poi anche del GDPR, se le informazioni contengono dati personali, non puoi riprodurle o utilizzarle senza il consenso specifico. Oppure quando, con la copia e l’uso di contenuti protetti da copyright, si configura una violazione dei diritti di proprietà intellettuale. Riguardo al content scraping per la riproduzione di parte dei contenuti (sia testi che immagini) bisogna anche fare riferimento ai termini del copyright: queste informazioni possono essere riprodotte su altri siti? Ancora, il web scraping è illegale se sfrutta le vulnerabilità di un sito per ottenere informazioni protette o se impiega i dati raccolti per scopi fraudolenti come la creazione di database di indirizzi destinati ad attività di phishing e spam.
Il fenomeno è stato sotto i riflettori ad aprile per lo scandalo di presunti numeri e contatti delle massime cariche dello Stato venduti da alcune di queste società. I giudici di Roma hanno ritenuto conforme alla legge il web scraping perché interessava segmenti non sostanziali della banca dati di Trenitalia e poiché le informazioni venivano acquisite di volta in volta in base alla richiesta dell’utente coinvolgendo una minima parte e non la totalità del database.
Leggi anche: Drago in Hero Realms: Un Mazzo del Boss da Non Perdere
Nell’ottica di creare maggiore chiarezza sul tema, negli ultimi anni il Garante privacy ha intrapreso iniziative riguardanti il web scraping. In particolare, nel dicembre del 2023 ha avviato un’indagine conoscitiva per verificare l’adozione da parte di siti pubblici e privati di misure di sicurezza atte a prevenire la raccolta massiva di dati sensibili, soprattutto in relazione all’addestramento di algoritmi di intelligenza artificiale. Il 30 maggio del 2024 è stata pubblicata la nota informativa con le prime indicazioni ricavate dall’indagine per adottare accorgimenti idonei a impedire o ostacolare il web scraping. Per restare nella legalità, chi utilizza tecnologie per estrarre dati da siti deve innanzitutto verificare e rispettare i diritti d’autore e assicurarsi che le informazioni estratte siano pubblicamente accessibili. Inoltre, non è consentito aggirare le misure che il sito ha adottato per impedire il web scraping.
Suggerimenti Operativi per Proteggersi dallo Web Scraping
Esistono numerose soluzioni che un gestore di pagine internet può adottare per proteggersi da ‘intrusioni’ indesiderate e attività di web scraping non autorizzate.
Misure di Prevenzione
- Aree Riservate e Autenticazione: Una prima linea di difesa consiste nella creazione di aree riservate, accessibili solo tramite registrazione e autenticazione, come avviene sui social network, che adottano diversi livelli di visibilità per i contenuti (per esempio, è necessario registrarsi per accedere ai profili completi, mentre da non autenticati si possono visualizzare solo informazioni parziali).
- CAPTCHA e Servizi Anti-Bot: Un altro strumento efficace è l’utilizzo di CAPTCHA o servizi anti-bot, che aiutano a distinguere tra traffico umano e automatizzato.
- File Robots.txt: È possibile configurare file robots.txt per indicare ai crawler quali sezioni del sito non devono essere indicizzate o esplorate, sebbene questi file siano solo raccomandazioni e non impediscano fisicamente l’accesso ai dati. Con un file robots.txt si può indicare quali link non devono essere accessibili, per esempio questo file viene seguito dai motori di ricerca e rispettato per escludere dall’indicizzazione alcune pagine.
- Blocco IP e Fingerprinting del Browser: I gestori possono anche bloccare gli indirizzi IP sospetti o conosciuti per appartenere a servizi di scraping, limitando così il traffico automatizzato non desiderato. Più avanzate sono le soluzioni basate su fingerprinting del browser, che consentono di identificare e bloccare agenti automatizzati sulla base del comportamento di navigazione.
- Rate Limiting e Monitoraggio del Traffico: In alternativa, si possono implementare tecniche di rate limiting e monitoraggio del traffico per identificare pattern anomali e intervenire tempestivamente. È bene evitare di inondare i siti di richieste: tieni presente che le richieste inviate per fare scraping utilizzano le risorse del server, quindi un numero eccessivo di richieste può anche mandare in down un sito. Questo è forse uno dei metodi più importanti da mettere in pratica per ridurre il carico di lavoro sul server. Un numero eccessivo di richieste può dare problemi al sito perché può andare a saturare le risorse del server, un po’ come accade negli attacchi DDoS quando l’attaccante invia molte richieste per rendere il sito irraggiungibile.
- Offuscamento dei Dati e Struttura HTML Dinamica: Un’altra difesa strategica consiste nell’offuscamento dei dati, ovvero nella modifica dinamica della struttura del codice HTML (ad esempio con classi e ID generati casualmente) per rendere più difficile l’automazione. Molti strumenti di scraping si basano su una formattazione regolare.
- Lazy Loading e API Protette: Alcuni siti utilizzano anche il lazy loading (caricamento dei dati su richiesta) o API protette con token di accesso, che richiedono autenticazione e controllano il numero e la frequenza delle richieste.
- Protezione dei Contenuti Multimediali: Ci sono sistemi che consentono di incorporare i contenuti testuali in elementi multimediali. Invece, per quanto riguarda le immagini, puoi adottare diverse tecniche per rendere più difficile la vita a chi cerca di prelevarle senza il tuo consenso.
- Monitoraggio dell'Hosting: In questo caso oltre ad eventuali strumenti esterni, è consigliabile avere un piano di hosting che ti permetta di limitare l’accesso a determinati indirizzi IP e monitorare l’utilizzo delle risorse.
Tieni comunque presente che gli strumenti di data scraping possono adottare numerose strategie per aggirare la maggior parte di queste limitazioni. Non c’è quindi un sistema per bloccare completamente i tentativi di scraping.
Mitigazione degli Scraper Dannosi
Di recente, i bot dei web scraper dannosi hanno attirato l'attenzione delle organizzazioni di e-commerce. I web scraper meno pericolosi possono comunque diminuire le performance del sito e far aumentare i costi legati all'elaborazione e ai server inondando il sito con richieste GET. Il loro reale impatto economico viene spesso nascosto sotto la superficie. Un altro caso di utilizzo è il furto di inventari, in cui i criminali effettuano il ping dei siti presi di mira cercando ripetutamente i prodotti che diventano disponibili. Questa tecnica può influire anche sulla ricerca perché altri retailer appaiono nei risultati in quanto il prodotto risulta "Esaurito" sul sito preso di mira. I bot dei web scraper vengono anche usati per raccogliere informazioni sulla concorrenza, come i dati relativi ai prezzi e alle offerte speciali che consentono ad un retailer di sbaragliare un suo rivale. Come con altri tipi di minacce, i bot scraper potenziati dall'intelligenza artificiale (AI) alzano la posta in gioco per le organizzazioni che cercano di bloccarli.
Ci sono buone notizie per le organizzazioni di e-commerce, che sono preoccupate per il web scraping. Di recente, i ricercatori di Akamai hanno studiato il traffico di una serie di società di e-commerce per una settimana, analizzando 6,9 miliardi di richieste per identificarle e caratterizzarle. Distinguere il traffico dei bot legittimi da quello dei bot dannosi ha consentito di effettuare una mitigazione mirata. La mitigazione dei web scraper ha determinato una riduzione dei rischi delle attività dannose e ha ridotto anche notevolmente il traffico che stava esaurendo le risorse del sito web. La riduzione del traffico ad alto rischio conduce ad una serie di miglioramenti nei risultati aziendali, come performance del sito migliorate, tassi di conversione più elevati, metriche del sito più accurate e costi IT ridotti. Gli autori dei bot sono intelligenti e le loro tattiche migliorano costantemente. Il rilevamento e la mitigazione dei bot dei web scraper dannosi richiedono competenze e strumenti alquanto sofisticati come gli stessi bot. Lo scenario dei bot è in continua evoluzione e pone nuove sfide in termini di sicurezza alle organizzazioni di e-commerce.
Un'Altra Forma di Scraper: Gli Scraper Agricoli
Semplificando la domanda, per quanto concerne l'agricoltura, gli scraper vengono impiegati per gli spostamenti del terreno all'interno di appezzamenti e poderi. In risaia sono quasi d'obbligo, assieme alla livella laser. Nel video in cui vi è un Fendt al lavoro, puoi vedere un appezzamento in cui si sta togliendo uno strato di terreno, per essere poi portato altrove. Lo scraper in genere è laser, ha un ricevitore su asta che riceve il segnale dalla stazione fissa su torretta, di norma poggiata nei paraggi (diciamo 500-600 metri max). Con questa tecnica si batte un "livello", permettendo alla macchina di raccogliere solo dove realmente serve. Questo non esclude l'uso di scraper senza controllo, anzi, l'attrezzo è piuttosto vecchiotto come concezione. Ai tempi dei testacalda, venivano usati nelle zone di bonifica e nelle risaie.
tags: #deck #scraper #traduzione