Un robot d'indexation (ou araignée ; en anglais web crawler ou web spider) est un logiciel qui explore automatiquement le Web. Il est généralement conçu pour collecter les ressources (pages web, images, vidéos, documents Word, PDF ou PostScript, etc.), afin de permettre à un moteur de recherche de les indexer.
Fonctionnant sur le même principe, certains robots sont utilisés pour archiver les ressources ou collecter des adresses électroniques auxquelles envoyer des pourriels.
Pour indexer de nouvelles ressources, un robot procède en suivant récursivement les hyperliens trouvés à partir d'une page pivot. Par la suite, il est avantageux de mémoriser l'URL de chaque ressource récupérée et d'adapter la fréquence des visites à la fréquence observée de mise à jour de la ressource. Toutefois, de nombreuses ressources échappent à cette exploration récursive, car seuls des hyperliens créés à la demande, donc introuvables par un robot, permettent d'y accéder. Cet ensemble de ressources inexploré est parfois appelé web profond.
Un fichier d'exclusion (robots.txt
) placé dans la racine d'un site web permet de donner aux robots une liste de ressources à ignorer. Cette convention permet de réduire la charge du serveur web et d'éviter des ressources sans intérêt. Par contre, certains robots ne se préoccupent pas de ce fichier.
Deux caractéristiques du Web compliquent le travail du robot d'indexation : le grand volume de données et la bande passante. Un très grand nombre de pages sont ajoutées, modifiées et supprimées chaque jour. Si la capacité de stockage d'information, comme la vitesse des processeurs, a augmenté rapidement, la bande passante n'a pas bénéficié de la même progression. Le problème est donc de traiter un volume toujours croissant d'information avec un débit limité. Le robot a donc besoin de donner des priorités à ses téléchargements.
Le comportement d'un robot d'indexation résulte de la combinaison des principes suivants :