Web scraping

Un article de Wikipédia, l'encyclopédie libre.

Schéma de principe d'une opération de scraping.

Le web scraping, parfois appelé harvesting ou en français moissonnage[1], est une technique de « récupération et organisation automatisées des données Web » ; c'est la principale forme de data mining et d'extraction des données de sites web, via un script ou d'un programme. Il vise à capter des données, pour les transformer et/ou les réutiliser dans un autre contexte comme l'enrichissement de bases de données, le référencement[2] ou l'exploration de données, ou l'apprentissage profond pour une intelligence artificielle. L'objectif est souvent commercial, mais parfois scientifique ou politique.

Profitant des progrès logiciels et de la science des données, dans le cadre de l'économie numérique où au sein de l'économie de la surveillance, l'exploitation commercial et politique du big data le moissonnage du Web s'est exponentiellement généralisé, illégalement parfois, ou en bénéficiant de flous ou vides juridiques.

Les enjeux sont notamment commerciaux et politiques, mais aussi éthiques, juridiques et philosophiques, car le scraping met en péril la protection des données et la sécurité des individus et de certains groupes. Ces enjeux deviennent critiques avec l'émergence des intelligences artificielles (génératives et multimodales notamment) qui permettent d'utiliser à mauvais escient des données volées et/ou apparemment banales et sans intérêt massivement scrapées sur l'Internet pour des activités criminelles ou pour la propagande, y compris électorale, comme l'ont montré le scandale Facebook-Cambridge Analytica/AggregateIQ et la diffusion croissante de fake news ciblées. Parmi les enjeux émergents figurent l'utilisation de l'intelligence artificielle qui à la fois facilite le moissonnage et permet d'en tirer beaucoup plus d'informations, y compris des informations sensibles et sur la vie privée. « Aujourd’hui, les chercheurs s'appuient de plus en plus sur l'intelligence artificielle (par exemple, l'apprentissage automatique, l'analyse des sentiments et/ou l'apprentissage profond) pour extraire le sens et l’interférence des données Web »)[3].

Le Web scraping comme source de préoccupation[modifier | modifier le code]

Les outils récents de « moissonnage des données » (originelles ou dupliquées) permettent d'extraire et collecter, puis traiter (classer, vérifier, nettoyer, agréger et structurer) la donnée, généralement à partir « Big Web Data » dont le volume croît exponentiellement (multiplié par plus de trente en 10 ans, passant de 2 zettaoctets en 2010 à 64 zettaoctets en 2023 [4]. Cette donnée est le plus souvent directement captée dans le code source de pages web (actuelles ou archivées) et dans les plateformes du Web (réseaux sociaux notamment). Selon Statista, en 2020, environ 64 000 milliards de gigaoctets de données ont été générées, dont seul un petit pourcentage era conservé car la capacité de stockage mondiale n'était "que" de 6,7 zettaoctets en 2020 (environ 6,7 milliards de gigaoctets). le volume de la donnée du Web devrait cependant dépasser 180 zettaoctets vers 2025, à cause du développement des objets connectés et de la 5G.

Avec une efficacité et une rapidité croissante (liée aux progrès de l'informatique), ces outils permettent, à grande échelle, d'extraire, structurer, analyser et évaluer, puis stocker et manipuler, et éventuellement commercialiser, ces données et des données dérivées (secondaires). Les bases de données ainsi produites peuvent inclure un grand nombre de renseignements personnels et des données sur toutes sortes d'entités socioéconomiques, culturelles, médiatiques, militaires, etc. Elles permettent de réaliser des profils psychologiques, sociaux et économiques très poussés de centaines de milliards de personnes, ainsi que des profils d'entreprises, d'ONG, etc.

Ces données, anonymisées, ont d'abord été utilisées pour diverses études scientifiques (en épidémiologie et en sociologie et anthropologie par exemple), mais dans un monde de plus en plus axé sur l'économie de l'information, ces données sont maintenant devenues une « ressource stratégique comparable en valeur à la terre, à l'or et au pétrole »[5],[6], très recherchées par des officines ou entreprises spécialisées qui vendent ces données agrégées aux banques, aux assureurs, à certains groupes politiques, des États autoritaires et dictatures (qui les utilisent pour cibler et contrôler des citoyens et diverses entités).

Alors que les algorithmes sophistiqués et l'intelligence artificielle peuvent aisément désanonymiser un grand nombre de données personnelles (données de santé y compris), le moissonnage massif et permanent des données du Web, par les gouvernements et par un nombre croissant de plateformes Web privées et d'officines dont le commerce de la donnée fonde le modèle économique soulève de graves préoccupations éthiques et politiques en matière de protection de la vie privée et de données sensibles.

Parmi les dérives souvent citées figurent l'espionnage massif des citoyens (y compris les leurs), et des concurrents économiques par les États-Unis, la Russie et la Chine, notamment[7]. Les systèmes américains d'espionnage généralisé (mis au jour par divers lanceurs d'alerte dont Julian Assange, Chelsea Manning, Edward Snowden), les fermes de Trolls russes ou l'approche chinoise du système de crédit social (SCS), « le premier système de notation sociale mis en œuvre numériquement à l'échelle nationale, vise à améliorer la fiabilité au sein de la société chinoise et constitue un exemple essentiel de la transformation numérique de la société Il est en outre conçu pour améliorer le comportement moral, la fiabilité financière et le contrôle social »[7].

Le scraping du web menace les quatre droits et « états de base de la vie privée » énoncés par Westin en 1962 (droit à la solitude[8], à l'intimité, à l'anonymat dans la foule et à la réserve) sont menacés dans un nombre croissant de situations[9], de même que la protection du contenu des courriers électroniques[10] qui fait partie du droit à la vie privée[11].

Légalité[modifier | modifier le code]

Le scrapping doit respecter la propriété commerciale et/ou intellectuelle et, dans l'Union européenne, le RGPD. Sans autorisation préalable, il n'est autorisé que pour des données nativement légalement publiques, ou tombées dans le domaine public, ou pour des données stockées sur des sites ou plateformes sous une licence libre le permettant (certaines licences ouvertes (Creative Commons Attribution par exemple) stipulent que le droit de réutilisation et/ou de transformation de la donnée ne vaut que pour les usages non commerciaux et/ou que les nouvelles donnés soient également publiées sous une licence ouverte similaire, en mentionnant l'auteur initial, la source, la licence, etc.). Il doit tenir compte des usages selon les paramètres binaires suivant :

  • usage commercial / non commercial (NC dans le système de la Licence Creative Commons) ;
  • produit modifiable / non modifiable (ND) ;
  • créations dérivées dont la licence est laissée au choix du créateur final / créations dérivées à partager selon la licence originale de la donnée (SA). Quand la donnée est une œuvre, la plupart des licences ouvertes impliquent l'obligation d'attribuer l'œuvre à son créateur (attribution - BY).

Dans les métadonnées d'un site internet, des fichiers robots.txt peuvent indiquer aux bots de scrapping les zones autorisées ou interdites au scraping.

Tout viol de ces règles peut entraîner des poursuites judiciaires et des amendes pour violation de droits d'auteur ou de la protection des données, et conséquemment une perte de réputation et d'e-réputation pour les entreprises ou personnes responsables d'un scrapping illégal.

Aux États-Unis[modifier | modifier le code]

Aux États-Unis, la société hiQ Labs utilise le web scraping sur les données de LinkedIn à des fins de recrutement. À la suite d'un procès, la Cour d'appel des États-Unis pour le neuvième circuit donne raison à hiQ en  : la cour considère notamment que les utilisateurs conservent la propriété de leurs profils, et que les données étant librement diffusées sur Internet, elles peuvent être collectées. L'affaire est ensuite portée devant la Cour suprême[12].

En , la cour du district nord de Californie juge en faveur du réseau social LinkedIn sur décision du juge Edward Chen, invoquant le fait que hiQ pratique la rétro-ingénierie afin de contourner sciemment et de manière répétée les protections contre les robots en simulant des utilisateurs humains[13].

En Europe[modifier | modifier le code]

Dans un jugement de 2013, la Cour de justice de l'Union européenne condamne le métamoteur de recherche Innoweb, qui réutilise les données de l'entreprise de vente d'automobiles Wegener sans modification de celles-ci[14].

En France[modifier | modifier le code]

Le , la Commission nationale de l'informatique et des libertés (CNIL) publie de nouvelles directives sur le web scraping[15]. Les lignes directrices de la CNIL précisent que les données accessibles au public sont toujours des données personnelles et qu'elles ne peuvent pas être réutilisées à l'insu de la personne à laquelle ces données appartiennent[16].

En décembre 2021, une start-up de la Station F est condamnée pour piratage informatique. À l'aide d'une technique de web scraping, elle récolte des données de l'annuaire d'une école de commerce parisienne, afin de solliciter les anciens élèves de l'établissement en vue d'alimenter un financement participatif[17]. La condamnation porte sur la méthode d'accès à la donnée, c'est-à-dire une usurpation d'identité permettant un « accès frauduleux à un système de traitement automatisé de données », et non le web scraping lui-même.

Technologies[modifier | modifier le code]

De nombreuses technologies permettent d'extraire du contenu de sites web via le web scraping. Certaines nécessitent des connaissances en développement de logiciels (les frameworks et bibliothèques, ou les API par exemple) tandis que d'autres sont accessibles au grand public et peuvent être utilisés à travers une interface graphique (c'est le cas des extensions de navigateur ou des logiciels en tant que service).

Frameworks et bibliothèques[modifier | modifier le code]

Il existe de multiples frameworks et bibliothèques logicielles, disponibles pour plusieurs langages de programmation, pour écrire des applications de web scraping.

Certains reposent sur l'émulation d'une instance d'un navigateur web afin de réaliser des actions sur des pages web (telles que cliquer sur un lien ou remplir un champ de formulaire) utiles pour réaliser des tests automatisés, ou dans le cadre du web scraping, pour extraire des données. On dit alors que le web scraping est réalisé côté client, ce qui a pour avantage de pouvoir extraire du contenu dynamique généré par le code JavaScript présent sur la page. La bibliothèque Node.js Puppeteer, par exemple, émule une instance du navigateur Chromium et permet de réaliser des actions automatisées en mode headless ou non.

D'autres frameworks et bibliothèques reposent sur l'analyse du code HTML de la page obtenu en réalisant une requête HTTP. Ce code HTML n'étant dans ce cas pas interprété par un moteur JavaScript, il n'est pas interprété. Cela est un inconvénient dans le cadre du web scraping à l'ère du web moderne où le contenu des pages web est souvent généré dynamiquement par du code JavaScript. N'ayant pas besoin d'interpréter le JavaScript, ni de télécharger toutes les ressources de la page (les feuilles de style, images etc.) cette méthode est en revanche généralement bien plus économe en ressources (mémoire vive, bande passante, etc.) et donc plus rapide. C'est le fonctionnement, par exemple, de la bibliothèque Goutte (PHP).

Les bibliothèques et frameworks les plus populaires pour le web scraping sont :

Nom Langage Site web Open source Toujours maintenu
Beautiful Soup Python Lien Oui Oui
Puppeteer JavaScript (Node.js) Lien Oui Oui
Goutte PHP (Symfony) Lien Oui Oui
Scrapy Python Lien Oui Oui
Selenium Multiples Lien Oui Oui
woob Python Lien Oui Oui
PhantomJS JavaScript Lien Oui Non

Interfaces de programmation (API)[modifier | modifier le code]

L'utilisation d'interfaces de programmation est une bonne alternative aux bibliothèques et frameworks pour les développeurs souhaitant accélérer le développement de leurs applications de web scraping. Ces interface de programmation (API) fonctionnent généralement de la façon suivante : l'utilisateur réalise une requête HTTP vers un point de terminaison présent sur un serveur distant contrôlé par le prestataire du service. Cette requête porte dans sa charge utile l'adresse (URL) de la page web de laquelle il faut extraire les données et parfois d'autres paramètres tels qu'un sélecteur CSS ou XPath permettant d'identifier un ou plusieurs éléments HTML précis desquels extraire le contenu. Le serveur répond alors par le contenu demandé.

De nombreuses sociétés proposent des API de web scraping, généralement payantes, dont voici une liste non exhaustive des options les plus populaires :

  • ScraperAPI
  • ScrapingBee
  • Scrapfly
  • ScrapingFish
  • Apify
  • Bright Data
  • Scraping bot
  • Diffbot
  • Wrapapi

Autres logiciels[modifier | modifier le code]

De très nombreux logiciels permettent d'automatiser le web scraping, certains nécessitant quelques connaissances en développement informatique et d'autres non. On peut les classer en :

  • logiciels SaaS, Software as a Service (Logiciel en tant que Service), installés sur un serveur distant, accessibles depuis un navigateur internet et entièrement hébergés par un prestataire. Ils ne nécessitent aucune installation, sont généralement payants et reposent pour la plupart sur un modèle économique basé sur l'usage ou sur un abonnement mensuel ou annuel.
  • logiciels exécutables, dont les parts de marché s'effondrent ces dernières années en faveur des applications web[18] en raison de leurs inconvénients par rapport à ces dernières (prérequis de configuration système, obligation de télécharger le logiciel et toutes les mises à jour postérieures etc.)
  • extensions de navigateur, téléchargeables depuis les annuaires d'extensions et ont la particularité d'être exécutées à l'intérieur de l'instance du navigateur. Elles proposent généralement moins de fonctionnalités que les autres catégories de logiciel mais sont également majoritairement moins coûteuses et plus faciles d'utilisation.

Parmi les plus utilisés figurent :

  • Lobstr.io
  • StablerTech
  • Scrapebox
  • Zennoposter
  • Captaindata
  • Phantombuster
  • Webscraper.io

Parades[modifier | modifier le code]

Peu après l'expansion des réseaux sociaux de l'Internet dans le monde, l'extraction de données à partir de leurs sites est devenu un moyen courant d'obtenir des ensembles de données par exemple utilisées pour former des intelligences artificielles, ou pour profiler les personnes, parfois massivement, comme on l'a vu dans le cas du scandale Scandale Facebook-Cambridge Analytica/AggregateIQ[19].

Parmi les parades possibles contre le scraping figurent :

  • l'utilisation de marquages cachés dans la donnée (filigrane numérique) qui doivent être robustes, c'est à dire impossibles ou très difficiles à séparer de l'image, du son, de la vidéo ou du texte qui a été ainsi « tatoué »[20],[21] ; Des filigranes ont récemment aussi été utilisés pour protéger des modèles d'intelligence artificielle ou d'apprentissage profond[22],[23],[24] ;
  • l'« empoisonnement des données », qui les rendent inutilisables (« inapprenables » par les IA). Cet « empoisonnement » numérique se fait en intégrant dans les données d'imperceptibles perturbations. Certains de ces mécanismes d'empoisonnement sont « génériques, peuvent être appliquées à différents ensembles de données et peuvent empoisonner différentes architectures ».

Le scrapeur de données peut de son côté à son tour utiliser des parades (l'une des plus courantes étant par exemple l'entraînement contradictoire et les fortes augmentations de données)[25] qui vont toutefois lui demander de consommer plus de ressource en temps et en ressources informatiques.

Notes et références[modifier | modifier le code]

  1. « Moissonnage du Web », Grand Dictionnaire terminologique, Office québécois de la langue française (consulté le ).
  2. Régis Micheli et Jean-Noël Anderruthy, Le référencement publicitaire avec Google AdWords. Astuces, conseils : toutes les techniques d'experts certifiés, Books on Demand (BoD), (lire en ligne).
  3. (en) Vlad Krotov et Leigh Johnson, « Big web data: Challenges related to data, technology, legality, and ethics », Business Horizons, vol. 66, no 4,‎ , p. 481–491 (ISSN 0007-6813, PMID 2022, PMCID 1653348, DOI 10.1016/j.bushor.2022.10.001, lire en ligne, consulté le ).
  4. (en) Vlad Krotov et Leigh Johnson, « Big web data: Challenges related to data, technology, legality, and ethics », Business Horizons, vol. 66, no 4,‎ , p. 481–491 (ISSN 0007-6813, DOI 10.1016/j.bushor.2022.10.001, lire en ligne, consulté le )
  5. (en) Vlad Krotov et Leigh Johnson, « Big web data: Challenges related to data, technology, legality, and ethics », Business Horizons, vol. 66, no 4,‎ , p. 481–491 (ISSN 0007-6813, DOI 10.1016/j.bushor.2022.10.001, lire en ligne, consulté le ).
  6. (en) Abdulkhaliq Alharthi, Vlad Krotov et Michael Bowman, « Addressing barriers to big data », Business Horizons, vol. 60, no 3,‎ , p. 285–292 (ISSN 0007-6813, DOI 10.1016/j.bushor.2017.01.002, lire en ligne, consulté le ).
  7. a et b (en) Mo Chen, Severin Engelmann et Jens Grossklags, « Social Credit System and Privacy », dans The Routledge Handbook of Privacy and Social Media, Routledge, , 227–236 p. (ISBN 978-1-003-24467-7, DOI 10.4324/9781003244677-26, lire en ligne).
  8. (en) Ernst M.L & Schwartz, A.U (1962) Privacy: The right to be let alone. New York: Macmillan.
  9. Askland, A. (2006). [1] What, Me Worry? The Multi-Front Assault on Privacy. St. Louis University Public Law Review, 25(33), et résumé
  10. Griffin J.J (1990) Monitoring of Electronic Mail in the Private Sector Workplace: An Electronic Assault on Employee Privacy Rights, The. Software LJ, 4, 493 (Griffin, J. J. (1990). Monitoring of Electronic Mail in the Private Sector Workplace: An Electronic Assault on Employee Privacy Rights, The. Software LJ, 4, 493. résumé]).
  11. Warren, S. D., & Brandeis, L. D. (1890). The right to privacy. Harvard law review, 193-220.
  12. (en) Wendy Davis, « Supreme Court Asks hiQ To Respond In Battle Over Data Scraping », (consulté le ).
  13. (en-US) David Cohens, « Court Sides With LinkedIn in Data Scraping Lawsuit vs. hiQ Labs », (consulté le )
  14. Arnaud Touati et Christina Salassidis, « Le web scraping, une technique d'extraction légale ? », sur actualité du droit, (consulté le ).
  15. « La réutilisation des données publiquement accessibles en ligne à des fins de démarchage commercial », sur Commission nationale de l'informatique et des libertés, .
  16. (en) « Legal Web Scraping for Legal Purposes », sur finddatalab.com, .
  17. Gabriel Thierry, « Une start-up de la Station F condamnée après un scraping sauvage », sur ZDNet, .
  18. (en) « Gartner Says Four Trends Are Shaping the Future of Public Cloud », sur Gartner (consulté le )
  19. (en) Pedro Sandoval-Segura, Vasu Singla, Jonas Geiping et Micah Goldblum, « Autoregressive Perturbations for Data Poisoning », ..
  20. (en) Bang An, Mucong Ding, Tahseen Rabbani et Aakriti Agrawal, « Benchmarking the Robustness of Image Watermarks », .
  21. (en) Yuxin Wen, John Kirchenbauer, Jonas Geiping et Tom Goldstein, « Tree-Ring Watermarks: Fingerprints for Diffusion Images that are Invisible and Robust », .
  22. (en) Arpit Bansal, Ping-yeh Chiang, Michael Curry et Rajiv Jain, « Certified Neural Network Watermarks with Randomized Smoothing », .
  23. (en) John Kirchenbauer, Jonas Geiping, Yuxin Wen et Jonathan Katz, « A Watermark for Large Language Models », .
  24. (en) Misha Laskin, Kimin Lee, Adam Stooke et Lerrel Pinto, « Reinforcement Learning with Augmented Data », Advances in Neural Information Processing Systems, Curran Associates, Inc., vol. 33,‎ , p. 19884–19895 (lire en ligne, consulté le ).
  25. (en) Jonas Geiping, Micah Goldblum, Gowthami Somepalli et Ravid Shwartz-Ziv, « How Much Data Are Augmentations Worth? An Investigation into Scaling Laws, Invariance, and Implicit Regularization », .

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]