web scraping

Web scraping, di cosa si tratta esattamente

Una domanda che molti, specialmente i non “addetti ai lavori”, si pongono quando pensano ai motori di ricerca, per esempio Google, è: “come fanno a sapere cosa è scritto in un sito?”. La risposta può sembrare complessa ma in realtà alla base delle tecnologie utilizzate dai search engine (ma anche da altri siti, come i comparatori) c’è sempre quella del “Web Scraping”, ossia l’estrazione dei dati di una pagina internet da parte di un software.

web-scraping

Come funziona lo scraping

L’applicazione che effettua la lettura, l’analisi e il salvataggio delle pagine web viene indirizzata verso un preciso URL oppure, come spesso accade, su un intero dominio in modo da scansionare tutte le pagine di un intero sito web. Una volta effettuata l’analisi, il software immagazzina le informazioni su un database precedentemente creato per lo scopo, così da permettere un’estrapolazione precisa ed essenziale dei dati utili per chi effettua l’operazione di scraping, potendo omettere e scartare quelle informazioni ridondanti o superflue.

I software più famosi

Esistono numerosi software per effettuare le operazioni di Web Scraping. Analizziamo alcuni dei più famosi e utilizzati.

HTTrack

Programma open source e disponibile per Windows, Mac e Linux, permette di operare sia tramite riga di comando che interfaccia grafica. Le pagine, nella versione offline, vengono organizzate seguendo la struttura originale del sito con la ristrutturazione di tutti i link e le regole del file robots.txt vengono rispettate.

httrack

cURL

Formato da una libreria interna e da un tool per operare da linea di comando, questo software supporta tantissimi tipi di protocollo per effettuare le operazioni di scraping, come HTTP, FTP o IMAP. La particolarità della sua libreria è la portabilità che gli permette di funzionare indistintamente sia sui PC che su tantissimi altri dispositivi, compresi gli smartphone Android e iOS.

Advanced Web Scraper

Oltre ai software stand-alone, esistono anche varie estensioni per Firefox e Chrome che permettono di creare copie offline delle pagine web. Al momento in cui vi scriviamo l’estensione di Chrome chiamata “Advanced Web Scraper” presenta il puteggio di 5 stelle su 5 ed è una delle soluzioni migliori tra i suoi concorrenti. L’estensione ci permette di utilizzare i selettori CSS e di avere l’anteprima in tempo reale di ciò che andiamo ad estrarre dalle varie pagine, con l’ulteriore opzione di esportare tutto in vari formati, tra cui JSON.

Ma tutto ciò è legale?

Potrebbe sorgere un dubbio importante quando si utilizzano software che, in buona sostanza, clonano un sito web: è legale effettuare questa operazione? La risposta è si, purché l’utilizzo che si fa dei dati che andiamo a estrapolare non vengano utilizzati per scopi fraudolenti.

In pratica, se il nostro obiettivo è copiare i contenuti altrui per creare dei siti web fittizi, che somiglino in maniera intenzionale a quello originale, magari con scopi di phishing, siamo ovviamente nel campo dell’illegalità. Se il file robots.txt del sito web che vogliamo analizzare vieta “l’ingresso” ai crawler dei motori di ricerca, lo stesso divieto può essere applicato ai programmi di scraping.

Software web scraping invasivi

È sempre buona pratica utilizzare software meno invasivi possibile e limitare il più possibile i dati che andremo a clonare, in quanto il server dove il sito web è hostato può subire forti rallentamenti dovuti all’enorme numero di richieste contemporanee, o addirittura andare offline.

Se dovessimo proprio andare a spaccare il capello, un profilo illegale di questa modalità di estrapolazione dei dati risiede proprio nel pericolo che colui che utilizza un software di web scraping, cosciente della dannosità e dell’insidia, non presti attenzione al fatto di poter effettivamente rallentare e danneggiare seriamente il sito dal quale vengono “succhiati i dati”.

2 comments

  1. medy Rispondi

    Ciao, seguo da molto il tuo sito e volevo chiedere se è illegale usare il curl in php per mandare una richiesta al server di un sito ed ottenere ad esempio delle informazioni, il sito da cui prendo le info è un catalogo di ricambi per auto pubblicamente accessibile.

Leave a reply