Dans cette nouvelle série d’articles, nous allons nous intéresser au web scraping sous la thématique : comment et pourquoi faire du web scraping ?
Pour ce 1er article, nous vous présentons ce qu’est le web scraping, ce qu’il peut apporter à votre business et comment cela fonctionne.
Le web scraping est une technique de récupération de données sur un site web utilisant des robots appelés web scrapers. L’objectif est de collecter de grands volumes de données automatiquement pour constituer une base de données réutilisable pour de futures opérations.
Pour faire du web scraping il vous faudra notamment déterminer quelles sources de données scraper et choisir l’outil, le web scraper, qui correspondra le mieux à vos besoins.
Avant d’entrer dans le vif du sujet il est important de clarifier le point de la légalité du web scraping. Comme nous touchons au domaine de la donnée, il est toujours légitime de se demander si cette technique et l’utilisation de ces données sont bien légales.
Rassurez-vous le web scraping est légal, sous certaines conditions :
Pour plus de détails, se référer à l'article de la CNIL.
Le web scraping apporte avant tout de la data, présente sur des sites web et qu’il serait fastidieux de récupérer à la main sans outil dédié. Cela permet donc d'automatiser la constitution d'une base de données, qui représente un socle pour de nombreuses et diverses activités.
Parmi ces activités on peut lister :
Le web scraping est une technique qui vous apportera facilement et rapidement une base importante pour développer votre business.
Imaginons que vous souhaitiez créer une plateforme de comparaison des vols en France.
Après avoir identifié les sites de compagnies aériennes que vous avez le droit de scraper et choisi un web scraper adapté à ces sites, il vous suffirait de paramétrer le web scraper pour parcourir tous les sites puis de collecter et d’organiser les données dans une base : prix et horaire de chaque vol à la date souhaitée, nom de la compagnie, aéroport de départ, nombre d’escales, etc…
De cette façon, vous allez obtenir un fichier regroupant toutes les informations nécessaires au fonctionnement de votre plateforme. Nous prendrons cet exemple en continu dans la suite de l’article, mais le web scraping peut s’appliquer à de nombreux domaines : vous ne serez limité que par la disponibilité et la légalité des données sur les sites qui vous intéressent.
Maintenant que vous savez ce qu’est le web scraping et à quoi cela peut servir, nous allons nous intéresser à comment le mettre en place chez vous. Pour obtenir votre base de données, vous devrez identifier les sources que votre web scraper devra utiliser et il faudra ensuite choisir le web scraper le plus adapté à vos besoins.
La première réflexion à avoir porte sur les données : de quoi avez-vous besoin ? Définir clairement un ordre de priorité des données que vous recherchez vous permettra d’avoir un point de départ clair.
Cette première étape consiste à concevoir votre base de données, définir quelles sont les data prioritaires et obligatoires à récupérer, lesquelles peuvent apporter de la valeur sans être absolument nécessaires ou encore lesquelles sont en bonus.
Pour reprendre l’exemple du cas d’usage des compagnies aériennes, vous pourriez décider que récupérer les horaires et les prix des vols est absolument nécessaire pour vos opérations, là où récupérer les numéros de vol et le nombre d’escales serait utile mais dispensable.
Le but de cette étape est de garder le processus de scraping le plus simple possible pour en garantir le bon déroulement. Cela permet par ailleurs de constituer une base de données ne contenant pas d’informations obsolètes ou polluantes.
Une fois que votre base de données est posée, il faut s’intéresser aux sources. Nous vous conseillons de commencer par explorer toutes les sources publiques qui sont susceptibles de contenir les données que vous recherchez : annuaires en ligne, blogs, open data...
Suite à cela, vous pouvez appliquer des filtres à cette liste de sources. En regardant les données importantes qui vous intéressent, vous pourrez déterminer des critères pour prioriser ces sources.
Vous pourriez être amené à trouver une source vous apportant la donnée la plus récente et une autre source apportant de la donnée fiable à 100%. Il est intéressant dans ces conditions de scraper les deux sources et de combiner les résultats afin d’obtenir une donnée de qualité.
Dans notre exemple sur les compagnies aériennes, un critère qui pourrait être important serait de choisir les sites de compagnies ne possédant pas ou peu de protections anti-scraping : vous pourriez être à la recherche d’informations faciles d’accès pour créer rapidement votre plateforme de comparaison.
En résumé, l’objectif est de chercher le plus grand nombre de sources qui rentrent dans vos critères et de sélectionner les sources les plus pertinentes et les plus adaptées à vos besoins.
La 3ème étape sera de choisir le web scraper le plus adapté aux sources que vous venez de sélectionner.
Il existe ainsi des outils gratuits ou payants, no code ou nécessitant des compétences en développement. Dans le cas où vous auriez plusieurs sources à scraper, vous pourriez être amené à faire face à des problématiques différentes.
Peut-être que votre première source, qui ne contient que quelques pages à récupérer, possède une protection anti-scraping tandis que la deuxième source qui vous intéresse n’en a pas mais nécessite en revanche de scraper des milliers de pages.
Vous seriez alors amené à devoir utiliser plusieurs web scrapers, à vous de vous adapter et de faire le bon choix !
Si un site de compagnie aérienne demande un test CAPTCHA, il faudra un web scraper permettant de passer outre ce test. Autre exemple, si vous avez 10 sources qui représentent des centaines de milliers de pages à scraper, il faudra un outil suffisamment puissant pour gérer cette charge.
Pour continuer, il vous restera à installer le ou les web(s) scraper(s), faire la configuration pour parcourir les sources qui vous intéressent et récupérer les données attendues et structurées.
Cette étape mérite à elle seule un article entier, de par son importance et le nombre d’outils différents existants sur le marché. Contactez-nous si vous souhaitez approfondir ce point, ou inscrivez-vous à la newsletter pour ne pas rater la sortie de nos prochains articles sur le web scraping.
Le dernier point important pour faire du web scraping est de monitorer votre web scraper durant son exécution. L’objectif est de s’assurer qu’il récupère l’exhaustivité des données, car nous ne sommes jamais à l’abri d’une surprise sur des sites web que nous ne connaissons pas !
En effet, il peut arriver que votre scraper soit configuré pour parcourir les 22 pages de résultat d’un site, mais qu’un événement imprévu sur la source ou une erreur dans la configuration du scraper interfère avec le scraping.
Par exemple, pour programmer le scraper dans l'objectif de parcourir les pages de résultats des vols d’un site d’une compagnie aérienne. La récupération des données sur les pages numéro 1 à 22 pourrait résulter d’un scraping des pages 0 à 21 en fonction de l’indexation des pages de la source : il est possible que sur le site cible, la page 1 corresponde à un numéro index 0, la page 2 à un numéro d’index 1 et ainsi de suite.
Pour éviter d’avoir un scraping incomplet ou différent de l’attendu, il est important de monitorer votre scraper !
Le web scraping est un moyen légal d’obtention de données à partir de sites web dans le but d’alimenter vos activités business. En appliquant notre méthode, vous serez en mesure de récolter des données à forte valeur ajoutée de manière simple et efficace.
Il existe des outils gratuits et simples à utiliser mais souvent moins puissants ainsi que des scrapers payants pouvant parcourir des millions de pages web. Tout dépend de vos besoins !
Ce sujet vous a intéressé ? Nous préparons un nouvel article sur le web scraping pour approfondir et détailler le processus de choix d’un outil de web scraping, le meilleur moyen de ne pas le rater est de s’inscrire à la newsletter ci-dessous !
Si vous voulez en savoir plus ou si vous cherchez un accompagnement pour mettre en place une stratégie de web scraping, contactez -nous directement !
Abonne toi à notre newsletter pour recevoir l’essentiel de l’actualité Design toutes les deux semaines dans ta boîte mail !