Le scraping permet de collecter des données pour une infinité de finalités possibles telles que la constitution ou l’enrichissement de bases de données de prospection.
Cet article est le premier de notre série Web Scraping : le guide complet avec tutoriels.
Pratiques de plus en plus utilisées par les entreprises et les indépendants, le web scraping et le data scraping permettent de collecter des données pour une infinité de finalités possibles telles que la constitution ou l’enrichissement de bases de données de prospection ou de produits par exemple.
Il existe pourtant une confusion commune entre les termes web scraping et data scraping. Voyons ensemble la distinction avant d’en apprendre plus sur le web scraping.
Avant tout, clarifions immédiatement une erreur très commune chez les francophones (et même à travers le monde) : on parle de scraping (avec un “p”) et non de scrapping(avec deux “p”). Le terme correct, “Scraping”, vient du verbe anglais to scrape qui signifie l’acte de gratter, racler voire érafler une surface. Le mauvais terme, à ne pas utiliser, “scrapping” vient du verbe to scrap qui signifie plutôt “se débarrasser de quelque chose”. Ne faites plus l’erreur !
Le data scraping (ou capture, collecte ou extraction de données en français) est une technique par laquelle un programme informatique extrait des informations depuis une source lisible par un humain et produite par un autre programme informatique.
Le data scraping permet d’extraire des données et de les structurer depuis une source prévue à l’origine pour être lue par un humain et où l’information n’est donc pas structurée, pas documentée, et pas optimisée pour être extraite facilement. En général, le data scraping est utilisé pour interfacer un programme avec un programme plus ancien qui ne propose pas d’API ou pour extraire des données depuis une source tierce, parfois sans son accord.
La communication de données entre programmes informatiques se fait via des structures de données telles que des APIs, des requêtes en bases de données, des middlewares de messageries. Les données y sont structurées pour l’interprétation par les programmes informatiques donc souvent pas ou peu lisibles par un humain.
Lorsque deux programmes communiquent de cette façon, par exemple via une API, le programme effectuant la requête va récupérer les données d’une autre application et parcourir la réponse pour y extraire les données. C’est ce qu’on appelle le parsing.
Il existe plusieurs types de data scraping parmi lesquels le screen scraping (extraction des données depuis un écran), le report mining (extraction des données depuis un rapport en fichier texte) et le plus répandu : le web scraping.
On l’aura deviné, le web scraping est la technique permettant d’extraire des informations depuis des pages web, via le protocole HTTP ou depuis un navigateur internet. Bien qu’il puisse être fait à la main, le web scraping tire évidemment tout son intérêt dans le fait qu’il est automatisable.
Tout programme de web scraping suit toujours trois étapes importantes:
Le monde du développement web évolue très vite et les sites web font aujourd’hui de plus en plus appel à des APIs pour dynamiser l’expérience utilisateur et ajouter des informations sur les pages web de façon asynchrone via des appels AJAX. Les techniques modernes de web scraping tendent à extraire des données depuis ces appels et leurs réponses : le but est de récupérer les appels API faites par une page et de les reproduire en dehors de cette page. C’est pourquoi, en pratique, les termes data scraping et web scraping peuvent aujourd’hui facilement s’interchanger.
La pratique s’étant fortement démocratisée, de nombreuses solutions “clé en main” existent aujourd’hui pour faire du web scraping. Souvent très coûteuses et peu flexibles, ces solutions sont loin des possibilités offertes par les technologies de web scraping telles que les frameworks et les librairies disponibles dans de nombreux langages. Découvrez la suite de notre série sur le web scraping avec notre article dédié : Quels langages et technologies choisir pour le web scraping ?
Changer d’entreprise, c’est excitant. Nouveau challenge, nouveaux collègues, nouveau café. Mais, bien souvent, on oublie…
Ça n’étonnera personne si nous affirmons que le monde du développement logiciel est en constante…
En Allemagne, le travail en tandem à temps partiel, aussi appelé « jobsharing » est…
On se retrouve comme d'habitude pour le début du classement qcm saison automne ! Mais…
La saison printemps des tests techniques WeLoveDevs s'est terminée le 31 mai, et c'est Axel…
View Comments
Cet article clarifie enfin les différences entre le web scraping et le data scraping ! J'apprécie la façon dont vous avez démystifié ces termes souvent mal compris. Merci pour ces explications précises et accessibles !