
Crawler ou Web Crawling : Définition + Exemples
Définition de Crawler et Crawling
Un Crawler est un robot ou un logiciel qui fait du Crawling, on dit généralement qu’il “Crawl” en d’autres termes il “explore le Web” en parcourant les liens qu’il trouve.
Vous pouvez demander à votre Crawler de parcourir le Web, ou lui dire d’explorer seulement une partie du Web, comme votre site Web ou ceux de vos concurrents.
Comment crawler un site Web
Vous devez avoir un crawler, pour commencer, je vous conseil de télécharger Xenu’s Link Sleuth qui est un bon logiciel de crawl pour débuter en Crawling 😉
Installez le sur votre ordinateur ou comme moi sur un VPS, puis exécutez le.
Dans le menu cliquez sur “File” puis sur “Check Url”. File veut dire “Fichier” et Check Url “vérifier une Url”.
Indiquez l’URL de votre choix. Puis cliquez sur “OK” sans toucher aux autres options.
En fonction du nombre de pages de votre choix d’URL le résultat de votre Crawl peut être affiché en quelques secondes, minutes ou heures.
Félicitation vous venez de crawler un site internet avec le logiciel Xenu 😉
Vous pouvez maintenant trier les données collecté pour en faire ce que vous avez besoin.
Comment créer un Crawler
Vous pouvez créer un robot ou un logiciel de crawling en plusieurs langages de programmation.
Le plus courant est le langage PHP et C++. La semaine dernière j’ai publié un article sur Comment Scraper Google en PHP, nous allons donc reprendre le même script et l’améliorer afin de rester avec un code source que vous êtes censé maîtriser 🙂
Voici le script PHP qui crawl Google pour scraper les titres des 10 sites positionné sur une requête :
<?php $codesource = file_get_contents('https://www.google.fr/search?q=web+scraping'); echo $codesource; preg_match_all("#<h3 class=\"r\"><a href=\"/url\?q=.+\">(.+)</a></h3>#iU", $codesource, $tableau_resultat); echo "<pre>"; print_r($tableau_resultat[1]); echo "</pre>"; ?>
On remplace simplement la Regex par celle ci :
#<h3 class=\"r\"><a href=\"/url\?q=(.+)&sa=U.+\">.+</a></h3>#iU
Ainsi on va pouvoir crawler Google pour scraper les urls des sites positionné sur la requête de notre choix.
Voici le retour du script après modification :
Pour aller plus loin :
Maintenant que vous savez crawler des pages Web en PHP vous pouvez compléter le code source pour crawler aussi ces pages puis extraire les liens, puis les crawler, puis extraire les liens, puis les crawler etc…
Vous pouvez aussi utiliser GHS Tools pour crawler les SERPS de Google, crawler des sites Web, crawler les réseaux sociaux, crawler des annuaires pour trouver des noms de domaines expirés etc…