A web crawler, or spider, is a type of bot that is typically operated by search engines like Google and Bing. Their purpose is to index the content of websites all across the Internet so that those websites can appear in search engine results.
Dopo aver letto questo articolo sarai in grado di:
Argomenti correlati
Abbonati a theNET, il riepilogo mensile di Cloudflare sulle tematiche più discusse in Internet.
Copia link dell'articolo
Un crawler, spider, o bot di un motore di ricerca, scarica e indicizza contenuti presenti in ogni angolo di Internet. L'obiettivo di questo tipo di bot è conoscere di quale argomento tratta ogni pagina (quasi) presente in rete, in modo che le informazioni possano essere recuperate quando ce n'è bisogno. Questi bot sono chiamati "web crawler" perché "crawling" è il termine tecnico utilizzato per indicare l'accesso a un sito web e il recupero di dati ottenuti tramite un programma informatico.
Questi bot sono quasi sempre gestiti dai motori di ricerca. Applicando un algoritmo di ricerca ai dati raccolti dai crawler, i motori di ricerca sono in grado di fornire link utili in risposta alle query degli utenti. In questo modo, il motore di ricerca è in grado di generare un elenco di pagine web ogni volta che un utente effettua la sua ricerca su Google o Bing (o su un altro motore).
Un web crawler può essere paragonato a una persona che passi in rassegna, pazientemente, tutti i libri contenuti in una biblioteca disordinata, e li cataloghi uno ad uno. In questo modo, chiunque visiti la biblioteca potrà trovare rapidamente e facilmente le informazioni di cui ha bisogno. Per poter catalogare e suddividere i libri per argomento, il bibliotecario dovrà leggerne il titolo, l'indice e qualche pagina di testo per riuscire a capire di cosa tratta.
A differenza di una biblioteca, però, l'Internet non è fatto di cataste fisiche di libri, e ciò rende difficoltoso poter dire se tutte le informazioni necessarie siano state indicizzate correttamente, o se una grande quantità di esse sia stata trascurata. Per provare a trovare tutte le informazioni pertinenti che Internet offre, un bot crawler inizierà da una serie di pagine web note, seguendo i collegamenti ipertestuali che rimandano ad altre pagine, seguendo i collegamenti ipertestuali che da queste pagine rimandano ad altre, e così via.
Allo stato attuale non è possibile sapere con esattezza quanta parte di Internet venga effettivamente scandagliata dai bot dei motori di ricerca. Alcune fonti stimano che solo il 40-70% di Internet sia effettivamente indicizzato per le ricerche, e si tratta comunque di miliardi di pagine web.
L'indicizzazione di ricerca è un procedimento simile alla creazione del catalogo di una biblioteca, ma per Internet, in modo che un motore di ricerca sappia in che punto della rete recuperare le informazioni quando giunge una richiesta. Può essere paragonato all'indice analitico di un libro, in cui sono elencati tutte le pagine in cui sono menzionati un dato argomento o una data parola.
L'indicizzazione si basa prevalentemente sul testo che appare sulla pagina e sui metadati* della stessa, che gli utenti non vedono. Quando i motori di ricerca indicizzano una pagina, aggiungono all'indice tutte le parole in essa contenute, ad eccezione di "un" "una" e "il/la" nel caso di Google. Quando gli utenti ricercano quelle parole, il motore di ricerca scorre l'indice di tutte le pagine in cui compaiono quelle parole, e seleziona quelle più pertinenti.
*Nell'ambito dell'indicizzazione di ricerca, i metadati sono i dati che dicono ai motori di ricerca di cosa tratta la pagina Web. Spesso il meta-titolo e la meta-descrizione sono ciò che apparirà sulle pagine dei risultati, al contrario dei contenuti della pagina che sono visibili agli utenti.
L'Internet è in continua espansione e in continuo mutamento. Dal momento che è impossibile sapere quante pagine web siano presenti in esso, i bot crawler iniziano da un seed, ovvero da un lista di URL noti, e scandagliano in prima battuta le pagine collegate a quegli URL. Man mano che avanzano lungo le pagine, incontreranno collegamenti ipertestuali che rimandano ad altri URL, e aggiungeranno questi URL alla prossima lista di pagine da scandagliare.
Data l'immensa quantità di pagine su Internet che potrebbero essere indicizzate per la ricerca, questo processo potrebbe proseguire quasi all'infinito. Un web crawler, tuttavia, segue alcune politiche che lo rendono più selettivo nella scelta delle pagine da scandagliare, nell'ordine in cui scandagliarle e con quale frequenza farlo per controllare gli aggiornamenti ai contenuti.
L'importanza relativa di ciascuna pagina web: la maggior parte dei crawler non scandaglia nella sua interezza l'Internet disponibile pubblicamente, e nemmeno è stata concepita per farlo. Essi decidono invece quali pagine scandagliare per prime sulla base della quantità di pagine che si collegano a una data pagina, della quantità di visitatori che essa riceve, e di altri fattori che indicano la probabilità che la pagina contenga informazioni importanti.
L'idea di fondo è che una pagina web che sia citata da molte altre e che riceva un elevato numero di visite contenga informazioni autorevoli e di elevata qualità, e pertanto è di particolare importanza che un motore di ricerca la includa nei propri indici, non dissimilmente da una biblioteca che si assicuri di avere a disposizione più copie di un libro particolarmente richiesto dai suoi frequentatori.
Rivisitazione di pagine web: sul web, i contenuti vengono aggiornati, rimossi o spostati continuamente. I crawler devono pertanto rivisitare periodicamente le pagine per fare in modo che sia indicizzata l'ultima versione dei loro contenuti.
Robots.txt requirements: Web crawlers also decide which pages to crawl based on the robots.txt protocol (also known as the robots exclusion protocol). Before crawling a webpage, they will check the robots.txt file hosted by that page's web server. A robots.txt file is a text file that specifies the rules for any bots accessing the hosted website or application. These rules define which pages the bots can crawl, and which links they can follow. As an example, check out the Cloudflare.com robots.txt file.
Tutti questi fattori vengono ponderati in modo diverso dagli algoritmi proprietari che ciascun motore di ricerca incorpora nei suoi spider. I crawler di ogni motore di ricerca si comportano in modo leggermente diverso, anche se l'obiettivo finale è il medesimo: scaricare e indicizzare contenuti dalle pagine web.
L'Internet, o perlomeno la parte di Internet a cui accede la maggior parte degli utenti, è noto anche come il World Wide Web, ovvero la "ragnatela globale" – l'acronimo "www" iniziale degli URL dei siti internet deriva proprio da questa definizione. È parso assolutamente naturale chiamare i bot dei motori di ricerca "spiders" ovvero "ragni", perché si muovono lungo tutta la "ragnatela globale", proprio come i ragni veri fanno con le loro ragnatele.
Questa decisione spetta unicamente alla proprietà web stessa, e dipende da una serie di fattori. I crawler hanno bisogno di risorse dei server per poter indicizzare i contenuti: proprio come un utente o un bot che visiti un sito, essi fanno delle richieste alle quali il server deve rispondere. A seconda della quantità di contenuti in ciascuna pagina o del numero di pagine sul sito, potrebbe rientrare nell'interesse del gestore non consentire indicizzazione di ricerca con troppa frequenza, dal momento che troppa indicizzazione potrebbe sovraccaricare il server, aumentare i costi di banda, o entrambe.
Può anche darsi il caso che alcuni sviluppatori o delle aziende non desiderino che determinate pagine siano rilevabili, a meno che non sia stato già fornito all'utente un link alle pagina (senza collocare quest'ultima dietro un paywall o un login). Un esempio di questo si ha, in ambito commerciale, quando una azienda crea una pagina di destinazione dedicata per una campagna di marketing, e vuole che l'accesso alla pagina sia riservato esclusivamente alle persone prese di mira dalla promozione. In questi casi l'azienda può inserire un tag "no index" alla pagina di destinazione, che non comparirà nei risultati dei motori di ricerca. Una azienda può anche aggiungere un tag "disallow" nella pagina o nel file robots.txt, e gli spider dei motori di ricerca si asterranno dallo scandagliarla.
Per una serie di altre ragioni, i proprietari di siti web potrebbero non volere che i crawler scandaglino in tutto o in parte i loro siti. Ad esempio, un sito web che offre agli utenti la possibilità di fare ricerche al suo interno potrebbe voler bloccare le pagine di ricerca dei risultati, dal momento che per la maggior parte degli utenti non hanno nessuna utilità. Anche altre pagine generate automaticamente, utili solo a un utente o a un gruppo ristretto di utenti specifici, dovrebbero essere bloccate.
Si parla di web scraping,data scraping o content scraping quando un bot scarica senza permesso il contenuto di un sito Web, spesso con l'intenzione di usarlo per scopi dannosi.
Solitamente, lo scraping è una attività molto più mirata rispetto al crawling. Gli scraper possono essere alla ricerca solo di pagine o siti specifici, mentre i crawler continuano a seguire collegamenti ipertestuali e a scandagliare continuamente le pagine.
Inoltre, i bot di scraping possono non tenere conto dello stress che provocano ai server, mentre i crawler, specialmente quelli dei principali motori di ricerca, obbediscono al file robots.txt e limitano le proprie richieste per non sovraccaricare il server.
SEO sta per "search engine optimization" (ottimizzazione motore di ricerca), e consiste nella preparazione dei contenuti per l'indicizzazione di ricerca, affinché un dato sito web figuri in una posizione più elevata tra i risultati del motore di ricerca.
Se gli spider non scandagliano un sito, non sarà possibile indicizzarlo e pertanto non verrà mostrato tra i risultati di ricerca. Per questo motivo, se il proprietario di un sito Web desidera ricevere traffico organico dai risultati delle ricerche, è fondamentale che non blocchi i crawler.
I bot dei principali motori di ricerca sono:
There are also many other web crawler bots, some of which are not associated with any search engine.
Bad bots can cause a lot of damage, from poor user experiences to server crashes to data theft. However, in blocking bad bots, it's important to still allow good bots, such as web crawlers, to access web properties. Cloudflare Bot Management allows good bots to keep accessing websites while still mitigating malicious bot traffic. The product maintains an automatically updated allowlist of good bots, like web crawlers, to ensure they aren't blocked. Smaller organizations can gain a similar level of visibility and control over their bot traffic with Super Bot Fight Mode, available on Cloudflare Pro and Business plans.