Web Scraping vs. Web Crawling : Comprendre la différence
Anda Miuțescu le 01 Jul 2021
Qu'est-ce qui est apparu en premier ? Le web crawler ou le web scraper ?
Cela dépend de la manière dont vous faites la différence entre l'extraction et le téléchargement. Le web scraping ne nécessite pas toujours l'utilisation de l'internet. L'extraction d'informations d'un système local, d'une base de données ou l'utilisation d'outils de raclage de données peut être qualifiée de collecte de données. Dans l'intervalle, les robots d'indexation ont pour principale mission de faire une copie de tous les sites consultés afin que les moteurs de recherche puissent les traiter ultérieurement, en indexant les pages sauvegardées et en recherchant rapidement les pages non indexées.
Cet article a pour but d'expliquer les différences et les co-fonctionnalités du web scraping, du crawling et de tout ce qui se trouve entre les deux. En prime, nous avons inclus un guide approfondi sur la construction de votre propre robot d'exploration, alors lisez la suite !
Qu'est-ce que le web scraping ?
Le web scraping, également connu sous le nom d'extraction de données, est le processus automatisé de collecte d'informations structurées à partir d'Internet. Ce terme générique couvre un large éventail de techniques et de cas d'utilisation impliquant le modus operandi du Big Data.
Au niveau le plus élémentaire, le web scraping consiste à copier des données à partir d'un site web. Les utilisateurs peuvent ensuite importer les données copiées dans une feuille de calcul, une base de données ou utiliser un logiciel pour effectuer un traitement supplémentaire.
À qui profite le web scraping ? Toute personne ayant besoin de connaissances approfondies sur un sujet particulier. Si vous vous êtes déjà aventuré dans un type de recherche, votre premier réflexe a probablement été de copier et coller manuellement des données provenant de sources dans votre base de données locale.
Aujourd'hui, les développeurs peuvent facilement utiliser les techniques de web scraping grâce aux outils d'automatisation. Ce qui prenait des semaines à une équipe peut désormais être réalisé de manière autonome en quelques heures avec une précision totale.
Le passage du scraping manuel au scraping automatisé permet aux particuliers de gagner du temps. Cela donne également un avantage économique aux développeurs. Les données collectées à l'aide de scrappeurs web peuvent être exportées ultérieurement au format CSV, HTML, JSON ou XML.
Comment fonctionne le web scraping ?

Cela semble facile, n'est-ce pas ? Eh bien, construire un scraper à partir de 0 qui peut faire tout cela prend beaucoup de temps. Sans compter que le robot ne fonctionnera pas toujours et que vous devrez louer des proxys. Cependant, si vous voulez quand même essayer, nous avons quelques tutoriels qui vous aideront.
Cependant, l'un des aspects les plus séduisants de l'utilisation d'un outil préconstruit est la simplicité avec laquelle il peut être incorporé dans votre projet. Il suffit de disposer d'un ensemble d'informations d'identification et d'une compréhension rudimentaire de la documentation de l'API.
En outre, les scrapers préconstruits peuvent être livrés avec de nombreux autres accessoires :
- Un navigateur headless incorporé pour exécuter du javascript
- Un solveur Captcha
- Un pool de proxy couvrant des millions d'IP
- Un rotateur de procuration
- Une interface simple pour personnaliser les demandes
Notre équipe a développé une API de web scraping qui vous fera gagner beaucoup de temps en effectuant des recherches approfondies sur le secteur et en concentrant nos efforts sur la création de la solution la plus avantageuse à laquelle nous pouvions penser.
Qu'est-ce que l'exploration du web ?
Nous connaissons tous et utilisons Google, Bing ou d'autres moteurs de recherche. Leur utilisation est simple : vous leur demandez quelque chose et ils cherchent dans tous les coins du web pour vous fournir une réponse. Mais, en fin de compte, Google prospère grâce à son robot Googlebot.
Les robots d'indexation sont utilisés par les moteurs de recherche pour rechercher sur l'internet des pages correspondant aux mots-clés que vous avez saisis et les mémoriser grâce à l'indexation en vue d'une utilisation ultérieure dans les résultats de la recherche. Les crawlers aident également les moteurs de recherche à collecter des données sur les sites web : URL, hyperliens, métabalises et contenu écrit, ainsi que l'inspection du texte HTML.
Vous n'avez pas à vous inquiéter du fait que le robot reste bloqué dans une boucle sans fin en visitant les mêmes sites, car il garde une trace de ce qu'il a déjà consulté. Leur comportement est également déterminé par un mélange de critères tels que :
- politique de re-visite
- politique de sélection
- politique de déduplication
- politique de courtoisie
Les robots d'exploration du Web sont confrontés à plusieurs obstacles, dont l'Internet public, vaste et en constante évolution, et la sélection des contenus. Une multitude d'informations sont publiées chaque jour sur le web. Par conséquent, ils doivent constamment actualiser leurs index et passer au crible des millions de pages pour obtenir des résultats précis. Néanmoins, ils sont des éléments essentiels des systèmes qui examinent le contenu des sites web.
Comment fonctionne l'exploration du web ?
Les moteurs de recherche n'ont aucun moyen de savoir quelles pages web existent. Avant de pouvoir obtenir les pages pertinentes pour les mots-clés, les robots doivent les parcourir et les indexer. Voici les 7 étapes complètes :

Web Scraping vs. Web Crawling
Le web scraping est souvent confondu avec le web crawling. Le web scraping diffère du web crawling en ce qu'il extrait et duplique les données de toute page à laquelle il accède, alors que le web crawling navigue et lit les pages pour les indexer. Le crawling vérifie les pages et le contenu, le scraping s'assure que les données vous parviennent.
Le mythe selon lequel le web scraping et le web crawling fonctionnent simultanément est un malentendu que nous souhaitons dissiper. Le web scraping est une technique d'extraction de données à partir de pages web. Qu'il s'agisse de pages explorées, de toutes les pages d'un site particulier ou de pages d'archives numériques, l'exploration du web peut générer une liste d'URL à collecter par le scrapeur. Par exemple, lorsqu'une entreprise souhaite recueillir des informations à partir d'un site, elle parcourt les pages, puis récupère celles qui contiennent des données utiles.
La combinaison de l'exploration et du grattage du web permet une plus grande automatisation et moins de tracas. Grâce à l'exploration, vous pouvez produire une liste de liens et l'envoyer au scraper pour qu'il sache ce qu'il doit extraire. L'avantage est de collecter des données à partir de n'importe quel endroit du World Wide Web sans aucune intervention humaine.
Cas d'utilisation
Le web scraping et le web crawling constituent une très bonne combinaison pour collecter et traiter rapidement des données qu'un humain ne pourrait pas analyser dans le même laps de temps. Voici quelques exemples de la manière dont ce tandem peut aider les entreprises :
Protection de la marque. Vous pouvez utiliser les outils pour trouver rapidement les contenus en ligne préjudiciables à votre marque (comme le vol de brevets, la violation de marques ou la contrefaçon) et les répertorier afin de pouvoir intenter une action en justice contre les parties responsables.
Surveillance de la marque. Le suivi de la marque est beaucoup plus simple lorsqu'on utilise un robot d'indexation. Le crawler peut découvrir les mentions de votre entreprise dans l'environnement en ligne et les classer de manière à ce qu'elles soient plus faciles à comprendre, comme les articles d'actualité ou les messages sur les médias sociaux. Ajoutez le web scraping pour compléter le processus et mettre la main sur l'information.
Contrôle des prix. Les entreprises utilisent le scraping pour extraire des données sur les produits, analyser l'impact de ces données sur leur modèle de vente et élaborer la meilleure stratégie de marketing et de vente. Les robots d'indexation, quant à eux, recherchent de nouvelles pages de produits contenant des informations précieuses.
Marketing par courrier électronique. Le web scraping permet de collecter des sites web, des forums et des sections de commentaires à un rythme effréné et d'en extraire toutes les adresses électroniques dont vous avez besoin pour votre prochaine campagne. L'exploration des courriels peut même passer en revue les forums et les groupes de discussion, à la recherche de courriels cachés, mais que l'on peut trouver dans les en-têtes.
Traitement du langage naturel. Dans ce cas, les robots sont utilisés pour la recherche linguistique où les machines aident à l'interprétation des langues naturelles utilisées par les humains.
Les crawlers et les scrapers sont utilisés pour fournir d'énormes volumes de données linguistiques à ces machines afin qu'elles acquièrent de l'expérience. Plus la machine reçoit de données, plus elle atteindra rapidement son niveau de compréhension idéal. Les forums, les places de marché et les blogs qui présentent divers types d'avis sont les sites les plus fréquents pour obtenir ce type d'informations.
L'internet pourra l'entraîner à comprendre et à reconnaître l'argot, ce qui est crucial dans le marketing d'aujourd'hui et cherche à répondre à une variété de milieux.
Gestion des biens immobiliers: Dans le domaine de l'immobilier, les web crawlers et les scrapers sont souvent utilisés pour leur capacité à analyser les données et les tendances du marché. Tous deux fournissent des informations détaillées sur des biens immobiliers ou des groupes de bâtiments spécifiques, quelle que soit la catégorie d'actifs (bureaux, industrie ou commerce de détail), ce qui permet aux entreprises de location de bénéficier d'un avantage concurrentiel. Pour mettre les choses en perspective, les bots créent des informations qui conduisent à de meilleures prévisions de marché et à des pratiques de gestion immobilière supérieures.
Génération de prospects. Les publicités et les offres spéciales sont inutiles si elles n'atteignent pas les bonnes personnes. Les entreprises utilisent des crawlers et des scrapers pour trouver ces personnes, que ce soit sur les médias sociaux ou dans les registres d'entreprise. Les robots peuvent rapidement trouver et collecter des informations de contact qui seront ensuite envoyées à l'équipe de vente ou de marketing.
Comment construire un robot d'indexation
Maintenant que vous savez comment la roue tourne, vous vous demandez probablement comment crawler des sites web. Construire son propre crawler permet d'économiser de l'argent et est plus facile que vous ne le pensez. C'est pourquoi nous avons préparé un guide détaillé sur les tenants et les aboutissants, le mode d'emploi et tout ce qui se trouve entre les deux.
Conditions préalables
- Python3.
- IDE Python. Recommandation/Dans ce guide, nous utiliserons Visual Studio Code, mais n'importe quel autre IDE fera l'affaire.
- Selenium : pour récupérer le code HTML de sites web dynamiques.
- Beautifulsoup : pour analyser le document HTML.
- ChromeDriver: un pilote web pour configurer selenium. Téléchargez la bonne version et n'oubliez pas le chemin où vous l'avez stocké !
Mise en place de l'environnement
Tout d'abord, installons les bibliothèques dont nous avons besoin. Ouvrez un terminal dans l'IDE de votre choix et exécutez les commandes suivantes :
> pip install selenium
> pip install beautifulsoup4
Nous allons maintenant importer les bibliothèques que nous avons installées dans notre code Python. Nous définissons également l'URL que nous allons explorer et ajoutons la configuration pour selenium. Il suffit de créer un fichier crawler.py et d'y ajouter ce qui suit :
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from bs4 import BeautifulSoup
CHROMEDRIVER_PATH = "your/path/here/chromedriver_win32/chromedriver"
BASE_URL = "https://ecoroots.us"
SECTION = "/collections/home-kitchen"
FULL_START_URL = BASE_URL + SECTION
options = Options()
options.headless = True
driver = webdriver.Chrome(CHROMEDRIVER_PATH, options=options)
Choisissez un site web et inspectez le code HTML
Nous avons choisi un site de commerce électronique vendant des produits zéro déchet, et nous allons accéder à la page de chaque produit et en extraire le code HTML. Nous allons donc rechercher tous les liens internes du site web du magasin et y accéder de manière récursive. Mais d'abord, jetons un coup d'œil à la structure de la page et assurons-nous que nous ne rencontrons pas de problèmes de crawlabilité. Cliquez avec le bouton droit de la souris n'importe où sur la page, puis sur Inspecter l'élément, et voilà ! Le HTML est à nous.
Construire le crawler
Nous pouvons maintenant commencer à écrire le code. Pour construire notre crawler, nous suivrons un flux récursif afin d'accéder à tous les liens que nous rencontrerons. Mais tout d'abord, définissons notre point d'entrée :
def crawl(url, filename) :
page_body = get_page_source(url, filename)
soup = BeautifulSoup(page_body, 'html.parser')
start_crawling(soup)
crawl(FULL_START_URL, 'ecoroots.txt')
Nous implémentons la fonction crawl, qui va extraire les documents HTML via notre procédure get_page_source. Ensuite, elle construira l'objet BeautifulSoup qui facilitera notre analyse et appellera la fonction start_crawling , qui commencera à naviguer sur le site web.
def get_page_source(url, filename) :
driver.get(url)
soup = BeautifulSoup(driver.page_source, 'html.parser')
body = soup.find('body')
file_source = open(filename, mode='w', encoding='utf-8')
file_source.write(str(body))
file_source.close()
return str(body)
As stated earlier, the get_page_source function will use selenium to get the HTML content of the website and will write in a text file in the <body> section, as it’s the one containing all the internal links we are interested in.
unique_links = {}
def start_crawling(soup):
links = soup.find_all(lambda tag: is_internal_link(tag))
for link in links:
link_href = link.get('href')
if not link_href in unique_links.keys() or unique_links[link_href] == 0:
unique_links[link_href] = 0
link_url = BASE_URL + link_href
link_filename = link_href.replace(SECTION + '/products/', '') + '.txt'
crawl(link_url, link_filename)
unique_links[link_href] = 1
C'est la logique principale du crawler. Une fois qu'il reçoit l'objet BeautifulSoup, il va extraire tous les liens internes. Nous faisons cela en utilisant une fonction lambda, avec quelques conditions que nous avons définies dans la fonction is_internal_link:
def is_internal_link(tag) :
if not tag.name == 'a' : return False
if tag.get('href') is None : return False
if not tag.get('href').startswith(SECTION + '/products') : return False
return True
This means that for every HTML element that we encounter, we first verify if it’s a <a> tag, if it has an href attribute, and then if the href attribute’s value has an internal link.
Après avoir obtenu la liste des liens, nous itérons chacun d'entre eux, construisons l'URL complète et extrayons le nom du produit. Avec ces nouvelles données, nous disposons d'un nouveau site web que nous transmettons à la fonction crawl à partir de notre point d'entrée, de sorte que le processus recommence.
Mais que se passe-t-il si nous rencontrons un lien que nous avons déjà visité ? Comment éviter un cycle sans fin ? Dans ce cas, nous disposons de la structure de données unique_links. Pour chaque lien que nous itérons, nous vérifions s'il a été visité avant de commencer à l'explorer. S'il s'agit d'un nouveau lien, nous le marquons simplement comme visité une fois l'exploration terminée.
Une fois que vous avez exécuté votre script, le crawler commence à naviguer parmi les produits du site web. Cela peut prendre quelques minutes en fonction de la taille du site web que vous avez choisi. Enfin, vous devriez maintenant disposer d'un ensemble de fichiers texte contenant le code HTML de chaque page visitée par votre robot d'exploration.
Dernières réflexions
Le web crawling et le web scraping sont étroitement liés et influencent le succès de l'un et de l'autre en contribuant à l'information qui est finalement traitée. Nous espérons que cet article vous aidera à évaluer l'utilisation de ces mécanismes frères et les environnements dans lesquels ils peuvent être employés.
L'automatisation est l'avenir de la collecte de données. C'est pour cette seule raison que nous avons conçu une solution qui vous évite d'avoir à écrire du code et qui vous permet d'accéder rapidement au contenu Web et d'éviter les blocages d'IP. Avant de mettre de l'ordre dans votre budget, pourquoi ne pas essayer notre formule d'essai gratuite avec proxies résidentiels et mobiles inclus dès le départ ? Grattez sur.
Nouvelles et mises à jour
Restez au courant des derniers guides et nouvelles sur le web scraping en vous inscrivant à notre lettre d'information.
We care about the protection of your data. Read our <l>Privacy Policy</l>.Privacy Policy.

Articles connexes

Découvrez comment extraire et organiser efficacement des données pour le web scraping et l'analyse de données grâce à l'analyse de données, aux bibliothèques d'analyse HTML et aux métadonnées schema.org.


Automatisez l'exploration du web et le téléchargement de fichiers avec Python et wget. Apprenez à utiliser ces outils pour collecter des données et gagner du temps.


Ce tutoriel montre comment explorer le web à l'aide de Python. L'exploration du web est une approche puissante pour collecter des données sur le web en localisant toutes les URL d'un ou de plusieurs domaines.
