Seguici su Telegram, ne vale la pena ❤️ ➡ @trovalost
Vai al contenuto

CommonCrawl: un web crawler open source e gratuito

Cos’è Common Crawl

Common Crawl è un’organizzazione no-profit che fornisce un repository gratuito e aperto di dati di “web crawl”. Il suo obiettivo è promuovere l’accesso universale alle informazioni e aiutare ricercatori, sviluppatori e appassionati di dati ad analizzare e studiare la vasta quantità di dati disponibili su Internet. È importante premettere che, sebbene Common Crawl fornisca dati preziosi e pubblicamente accessibili, possono esserci considerazioni legali ed etiche nell’uso di dati di “web crawl”. Gli utenti dovrebbero esaminare e conformarsi alle leggi e ai regolamenti pertinenti che governano l’uso dei dati e rispettare i termini e le condizioni della politica di utilizzo dei dati di Common Crawl. E come sempre, in questi casi, non c’è una risposta univoca a tutti i possibili interrogativi.

Common Crawl fornisce un indice di ricerca, che puoi utilizzare per cercare determinati URL nei loro dati di “web crawl”. Ciascun risultato di ricerca contiene un collegamento e un offset in byte per una posizione specifica nei loro bucket AWS S3 per scaricare la pagina.

Cos’è un crawler

Un “crawler” (detto anche “web crawler” o “spider”) è un programma automatizzato che esegue il processo di “web crawling” o “crawling del web”. È un componente fondamentale dei motori di ricerca e di altre applicazioni che desiderano raccogliere dati da Internet.

La funzione principale di un crawler è quella di navigare in modo sistematico attraverso la vasta rete di pagine web presenti su Internet. L’obiettivo è individuare, recuperare e indicizzare il contenuto delle pagine per consentirne la successiva ricerca e reperibilità tramite un motore di ricerca o altre applicazioni.

Ecco come funziona generalmente un “crawler”:

  1. Inizio del Crawling: Il crawler inizia visitando una o più pagine web di partenza, solitamente dette “seed URLs”. Queste possono essere fornite manualmente o possono essere predefinite all’interno del programma del crawler.
  2. Recupero delle Pagine: Una volta raggiunta una pagina web, il crawler analizza il contenuto della pagina e individua gli eventuali link presenti. Il crawler aggiunge questi nuovi URL a una coda di URL da visitare successivamente.
  3. Navigazione dei Link: Il crawler preleva gli URL dalla coda uno per uno e visita le pagine corrispondenti. Prosegue in questo modo attraverso un processo iterativo, visitando le pagine collegate e continuando a recuperare nuovi link da seguire.
  4. Archiviazione dei Dati: Durante il processo di crawling, il crawler può scaricare il contenuto delle pagine visitate, inclusi testi, immagini, video e altri media. Questi dati possono essere archiviati localmente o in un database per un’ulteriore elaborazione.
  5. Indicizzazione: Dopo aver raccolto i dati, il crawler può passare le informazioni a un motore di indicizzazione che analizza il contenuto delle pagine e le aggiunge all’indice di ricerca del motore di ricerca. L’indice è ciò che consente al motore di ricerca di fornire risultati rapidi e pertinenti quando gli utenti eseguono una ricerca.

Il processo di crawling può essere continuo o periodico, a seconda delle esigenze dell’applicazione o del motore di ricerca. Molti tool SEO si basano, di fatto, su crawler autogestiti e a sorgente chiuso, che vengono poi usati per generare e calcolare indici SEO, prestazioni, chiavi più popolari e via dicendo. Gli “spider” dei motori di ricerca, ad esempio, operano costantemente per mantenere l’indice aggiornato con le nuove pagine e i contenuti pubblicati sul web. Sembra facile realizzarne uno “a mano”, ma la pratica di programmazione dimostra che non è così.

Come funziona Common Crawl

In questi casi la chiave è fare uso di software ad alto livello che prevedano soluzioni avanzate per il software, ed evitino al programmatore di dover reinventare la ruota. Ecco alcuni punti chiave del funzionamento di questo software:

  1. Web Crawler: Common Crawl opera dei “web crawler” che attraversano Internet e raccolgono sistematicamente dati da vari siti web. Questi crawler utilizzano un processo chiamato web scraping per scaricare pagine web, immagini, video e altri contenuti disponibili pubblicamente sul web.
  2. Accesso Aperto ai Dati: Uno dei principali obiettivi di Common Crawl è rendere i dati raccolti liberamente accessibili a chiunque. Forniscono l’accesso ai loro dati di “web crawl” gratuitamente e mantengono un approccio trasparente e collaborativo alla condivisione dei dati.
  3. Formato dei Dati: I dati forniti da Common Crawl sono generalmente memorizzati nel formato WARC (Web ARChive). Questo formato è specificamente progettato per archiviare contenuti web e include sia l’HTML grezzo delle pagine web sia metadati aggiuntivi.
  4. Casi d’Uso: Ricercatori, scienziati dei dati, sviluppatori e aziende utilizzano i dati di Common Crawl per una vasta gamma di scopi, come la ricerca web, l’addestramento di modelli di apprendimento automatico, l’analisi di tendenze, il monitoraggio delle modifiche ai siti web e altro ancora.
  5. Sfide e Competizioni: Common Crawl organizza regolarmente sfide e competizioni per incoraggiare utilizzi innovativi dei loro dati di “web crawl”. Queste sfide spesso si concentrano su specifici ambiti come l’elaborazione del linguaggio naturale, l’analisi delle immagini o il recupero delle informazioni.
  6. Aggiornamenti dei Dati: Common Crawl esegue continuamente “crawling” del web e nuovi set di dati vengono resi disponibili regolarmente. La frequenza degli aggiornamenti dipende dalle risorse disponibili e dal volume di nuovi dati presenti sul web.
  7. Rispetto delle Politiche dei Siti Web: Common Crawl rispetta le regole “robots.txt” specificate dai siti web, che vengono utilizzate per governare l’accesso dei “web crawler” ai loro contenuti. Rispettano le politiche impostate dai proprietari dei siti web e non effettuano il “crawling” di pagine esplicitamente vietate da queste regole.

CommonCrawl in Python (how-to)

Esiste un client per usare CommonCrawl in Python che permette di prelevare una o più pagine HTML allo scopo di renderle trattabili e indicizzabili. Prima di tutto dovete installarlo da linea di comando:

pip3 install comcrawl

poi basta scrivere codice con questo template:

from comcrawl import IndexClient

client = IndexClient()

client.search("eccocome.it*")
client.download()

first_page_html = client.results[0]["html"]
print (first_page_html)

Molto semplice alla fine, come sintassi: in pratica abbiamo creato un IndexClient, lo abbiamo fato puntare ad un URI specifico (il nostro blog, per inciso), il client si occuperà trasparentemente di scaricare le pagine e poi di mostrarci il primo risultato che ha trovato. La prima volta che lo lanciate, impiegherà naturalmente un po’ di tempo a finire l’esecuzione, e farà riferimento ai dati HTML che sono copiati nel dataset di Common Crawl.

Fate attenzione che parliamo quasi sempre di quantità di dati molto grandi, per cui sarà necessario filtrare le pagine adeguatamente per evitare che la dimensione esploda, e questo si presta alla creazione autonoma di tool SEO, di copie dei contenuti da scaricare in locale e via dicendo. La libreria comcrawl di Python supporta, per inciso, multi-thread e log, ed è naturalmente soggetta alle condizioni d’uso di Common Crawl. Non è richiesto l’uso di API specifiche, ad oggi, per fare uso del software.

Le prima volte conviene testarlo su siti web molto piccoli, in modo da valutarne efficacia e funzionamento.

Per saperne di più

Un ottimo tutorial in italiano che spiega come impostare un bucket su Amazon S3 per Common Crawl è riportato di seguito (grazie a rev3rse security). Viene anche spiegato come cercare siti WordPress esposti su internet, quindi non necessariamente indicizzati dai motori, che siano rimasti online, sfruttando i vari Terabyte di dati che sono messi a disposizione da Common Crawl con una semplice query SQL, tra le altre cose.

👇 Da non perdere 👇



Questo portale web esiste da 4526 giorni (12 anni), e contiene ad oggi 4047 articoli (circa 3.237.600 parole in tutto) e 16 servizi online gratuiti. – Leggi un altro articolo a caso
Non ha ancora votato nessuno.

Ti sembra utile o interessante? Vota e fammelo sapere.

Questo sito contribuisce alla audience di sè stesso.
Il nostro network informativo: Lipercubo - Pagare online (il blog) - Trovalost.it