Qu'est ce que le web scraping ?

La numérisation croissante de pratiquement toutes les informations disponibles de nos jours a conduit les experts en renseignements de toutes sortes à innover dans la manière de les collecter. Trop vaste à parcourir et impossible pour l'humain à synthétiser en assez peu de temps pour devenir concurrentiel, il a fallu développer des techniques telles que le web scraping pour extraire les données numériques de leur support. Comment fonctionne cette technique d'extraction de données ?

Le web scraping, c'est quoi exactement ?

Pour commencer, le mot web scraping nous vient de l'anglais. Web fait comme d'habitude référence à la toile, et au réseau internet en général, tandis que scraping veut littéralement dire grattage ou récupération. Il est donc facile de visualiser le concept derrière ce mot un peu technique : récupérer et gratter numériquement des sites web remplis d'informations pour en extraire les données essentielles. Par exemple, une plateforme de vente en ligne pourra analyser les prix de la concurrence en extrayant les prix de tous les produits d'une plateforme concurrente en quelques secondes, sans avoir besoin qu'un opérateur humain fasse le tour de toutes les pages une par une pour y relever les prix. Cette technique permet de gagner énormément de temps et d'économiser du personnel en automatisant une tâche longue, répétitive et fastidieuse.

Dans les faits, le plus complexe restera le développement du logiciel de web scraping et du script. Cette partie du travail sera bien souvent dévolue à des spécialistes en data et en programmation. Le web scraping est très largement utilisé de nos jours dans presque tous les domaines. Les entreprises l'utilisent, comme nous l'avons vu, pour surveiller les prix de la concurrence sans gaspiller leur personnel, mais aussi pour analyser les avis de leur clientèle, et suivre l'évolution et l'influence du nom de leur marque sur les réseaux sociaux. Par exemple, en relevant le nombre de fois où le nom de leur marque est cité dans des forums, des sites web spécialisés...

Dans le monde universitaire et de la recherche, le web scraping est utilisé pour les études et par de nombreux chercheurs. Le but sera ici de collecter un maximum de ressources en lien avec leur projet, voire pour les examinateurs et le jury à scanner l'intégralité des recherches effectuées sur le sujet pour mettre le doigt sur un éventuel plagiat. Citons aussi les journalistes qui s'appuient souvent sur un logiciel de data scraping pour faire le tour exhaustif d'un sujet qu'ils ont à travailler et en connaître les dernières nouvelles, suivre les tendances sur les réseaux sociaux, et ainsi de suite.

Enfin, les développeurs et professionnels ayant suivi une formation certifiante de data scientist, en plus de créer ces logiciels, les utilisent pour améliorer leurs applications en intégrant de nouvelles données et encore plus souvent pour fabriquer des modèles prédictifs pour des entreprises.

Comment faire du web scraping ?

Concrètement, scraper des données sur une page web ne consiste pas juste à crawler en appuyant sur une simple touche. Il faut avant de lancer la procédure passer par plusieurs étapes essentielles.

Toutes les données ne sont pas essentielles et intéressantes pour l'application que l'on veut en faire. Il faudra donc dès le début connaître son objectif. Analyser les prix de tels produits, collecter des avis clients, des informations dans les articles de presse... Ce n'est qu'ensuite que l'on pourra déterminer l'outil le plus adapté pour scraper les données.

Par outil, il faut déjà entendre langage de programmation et logiciels. Il en existe de nombreux sur le marché, même si bien souvent les spécialistes des données préféreront développer leur propre script et modèle pour être plus spécialisés et efficaces. La plupart des logiciels sont simplement programmés sous Python et consistent en une analyse précise du script HTML des pages web qui leur sont soumises. Un logiciel efficace permettra, en plus de collecter les données, de les analyser, de les classer... pour permettre aux analystes de faire leur travail facilement.

Le développement d'un script de scraping nécessite déjà de connaître la structure des sites web à visiter. Il sera différent selon que l'on veuille extraire des textes, des images, des liens... Il faudra donc les identifier clairement et surtout trouver leur emplacement dans le code HTML de la page web, pour faciliter le travail du logiciel d'analyse. Connaître le type d'informations et leur emplacement dans un code permet de gagner un temps précieux dans la programmation du logiciel de scraping.

Une fois le logiciel programmé, son script va s'exécuter. Il va donc commencer à visiter une par une tous les sites web et pages prévues, et scanner leur code pour en extraire les informations recherchées. Ces données seront stockées dans un format économisant de la place, comme un fichier CSV dans la majorité des cas.

Ce type de stockage va ensuite nécessiter un nettoyage, car les données extraites sont conservées brutes dans la plupart des cas. Il faudra donc les formater et les rendre plus lisibles, supprimer les informations inutiles, les parties de code illisibles, les artefacts, les erreurs d'extraction, les mauvaises conversions... Ce n'est qu'à la fin de ce processus que ces informations pourront être analysées et enfin exploitées, pour en tirer des tendances, faire des tableaux, en tirer des insights, voire les utiliser pour créer des modèles prédictifs, faire de la veille technologique et prendre des décisions économiques en connaissance de cause.

Parmi les outils de scraping existants, citons Beautiful Soup, une bibliothèque Python qui extrait les données HTML et XML, mais aussi Scrapy, qui est open source et permet donc une personnalisation complexe des scripts. Certaines options de ces logiciels permettent même de manipuler les cookies. Ils sont particulièrement adaptés à une utilisation à grande échelle. D'autres comme Selenium sont conçus pour scraper les données via un navigateur, surtout sur les sites dynamiques qui nécessitent généralement une interaction de la part de l'utilisateur. Citons enfin les bibliothèques Node.js, spécialisées dans le scraping des données écrites sous JavaScript. De nombreuses fonctionnalités existent pour rendre ce type de logiciels utilisables par des utilisateurs non experts, par exemple en proposant une interface visuelle compréhensible et graphique, pour éviter d'avoir à programmer.

Pourquoi scraper un site

Le web scraping peut être utilisé à différentes fins. S'il permet basiquement de collecter des données grâce à des scripts, celles-ci peuvent avoir différents buts et être exploitées de plusieurs manières.

Scrapper un site permet tout d'abord de surveiller la concurrence. C'est probablement son application la plus facile. Grâce à des scripts particuliers, il est possible d'être au courant des modifications significatives des prix ou des lancements de nouveaux produits. De cette manière, une entreprise peut décider de s'aligner, ou de lancer une nouvelle campagne marketing, voire changer son orientation et sa stratégie tarifaire.

Ces mêmes entreprises pourront ensuite générer des leads et utiliser les données pour leur prospection. Par exemple en classant les centres d'intérêt des prospects, leurs coordonnées, et toutes les informations légalement accessibles et exploitables mises en ligne par eux.

Le suivi de la mention des marques est de nos jours très répandu pour étudier l'influence d'une image de marque en ligne. Il s'agit tout simplement de la réputation numérique, qui est bien plus exploitable et visible que le classique bouche-à-oreille. Le logiciel de scraping analysera donc les lieux où se font les réputations : forums spécialisés, articles de presse... Et surtout relever les commentaires clients à partir de leurs produits. Ils pourront ainsi le cas échéant répondre rapidement à un avis négatif.

Il existe de nombreuses autres applications pour le web scraping, et sans toutes les citer, on peut voir une tendance générale se dégager. Le web scraping est utilisé pour gagner du temps et automatiser la collecte et le tri de données numériques, peu importe la finalité de celles-ci. C'est une méthode efficace d'agrégation de contenu qui est devenue indispensable de nos jours.

Est-ce que le scraping est légal ?

La question de la légalité revient souvent lorsqu'il s'agit de web scraping. Et la réponse est loin d'être évidente ou de tenir dans un simple oui ou non. Néanmoins, les conditions d'utilisation des logiciels de web scraping sont assez cohérentes et logiques si l'on fait appel au bon sens.

Premièrement, l'activité elle-même et l'utilisation de tels scripts et logiciels sont parfaitement légales. La question de la légalité va se poser quant aux sites, données collectées elles-mêmes, et leur utilisation. Ces domaines-là peuvent en effet être limités par la loi.

Par exemple, il faudra respecter premièrement les conditions d'utilisation des sites web visités. Si ces conditions interdisent la collecte de données automatique, surtout de manière explicite, alors le web scraping devient illégal. Certains sites autorisent son utilisation, mais uniquement à des fins personnelles et non commerciales. Une utilisation pour la recherche est donc légale. Enfin, certains administrateurs autoriseront le web scraping au cas par cas, il suffira de les contacter par avance pour leur demander l'autorisation de collecter des données sur leur site.

Deuxièmement, le problème des droits d'auteur et les copyrights. En effet, dans de nombreux domaines, les données disponibles sur un site peuvent être protégées par des droits d'auteur. Par exemple, des extraits de livres, de films, et de nombreuses œuvres de production de l'esprit comme le dit la loi. Dans ce cas, l'utilisation de ces données sans autorisation peut faire l'objet de poursuites pénales et d'amendes conséquentes. De manière générale, les faits et informations générales ne sont pas protégés par le droit d'auteur. Ainsi, par exemple, le texte d'un journaliste est protégé, mais son sujet et les informations contenues ne le sont pas...

Récemment, l'Union européenne a renforcé la protection des données personnelles. Le web scraping devra donc se conformer dans sa collecte au règlement RGPD sous peine de sanctions pénales et civiles. Il faudra donc veiller à ce que la collecte et la diffusion des données respectent la vie privée des propriétaires des informations.

Enfin, l'activité de web scraping devra évidemment respecter les règles d'éthique de base, et ne pas collecter ou utiliser des informations sensibles, secrètes, illégales... Mais encore une fois, cela reste du bon sens.