Qu’est ce que le data scraping ?

Les attaquants peuvent utiliser des outils d’extraction internet pour accéder aux données beaucoup plus rapidement que prévu. En conséquence, les données sont utilisées à des fins non autorisées.

Share facebook icon linkedin icon twitter icon email icon

Scraping de données

Objectifs d’apprentissage

Après avoir lu cet article, vous pourrez :

  • Définir le data scraping
  • Expliquer les objectifs du data scraping
  • Comprendre les méthodes d’atténuation du data scraping
  • Différentier le data scraping et l’indexation des données

Qu'est-ce que le scraping de données ?

De manière générale, le scraping de données fait référence à une technique grâce à laquelle un programme informatique extrait des données de la sortie générée à partir d'un autre programme. Le scraping de données se manifeste généralement dans l'extraction web, le processus d'utilisation d'une application pour extraire des informations importantes d'un site web.

Scraping de données

Pourquoi les scrapers extraient-ils les données d’un site web ?

Généralement, les entreprises ne souhaitent pas que leur contenu unique soit téléchargé et réutilisé à des fins non autorisées. En conséquence, elles n’exposent pas toutes leurs données via une API consommable ou d’autres ressources facilement accessibles. Les bots de scraping, ou scrapers, cherchent, pour leur part, à obtenir des données sur les sites web, indépendamment des différentes tentatives de restriction d’accès. Il en résulte un jeu du chat et de la souris entre les scrapers et les différentes stratégies de protection de contenu, chaque partie essayant de déjouer les plans de l’autre.

Le processus de web scraping est assez simple, bien que sa mise en œuvre puisse être complexe. Le web scraping se déroule en trois étapes :

  1. Pour commencer, l’élément de code utilisé pour extraire les informations, que nous appelons « bot de scraping », envoie une requête HTTP GET à un site web spécifique.
  2. Lorsque le site web répond, le scraper analyse le document HTML en recherchant un modèle particulier de données.
  3. Une fois les données extraites, il les convertit dans le format spécifique conçu par l’auteur du bot de scraping.

Les bots de scraping peuvent être conçus à plusieurs fins, dont les suivantes :

  1. Scraping de contenu - Le contenu peut être extrait du site web afin de reproduire l'avantage unique offert par un produit ou un service particulier reposant sur le contenu. Par exemple, un produit comme Yelp est fondé sur des avis. Un concurrent pourrait extraire tous les avis de Yelp et reproduire ce contenu sur son propre site, en prétendant qu’il s’agit d'un contenu original.
  2. Scraping de prix - en extrayant les données sur les prix, les concurrents sont en mesure de regrouper des informations sur la concurrence. Cela leur permet d'obtenir un avantage unique.
  3. Scraping de contacts - de nombreux sites web contiennent des adresses électroniques et des numéros de téléphone en texte brut. En parcourant des sites comme des annuaires d’employés en ligne, un bot de scraping peut rassembler des coordonnées destinées à un envoi massif de mails, à des appels robotisés, ou à des tentatives d’ingénierie sociale malveillantes. Il s’agit d’une des principales méthodes utilisées par les spammeurs et les « scammeurs » pour trouver de nouvelles cibles.

Comment le web scraping est-il atténué ?

Habituellement, tout le contenu qu’un visiteur de site web peut voir doit être transféré sur la machine du visiteur et toute information à laquelle un visiteur peut accéder peut être extraite par un bot.

Des efforts peuvent être faits pour limiter la quantité de web scraping susceptible de se produire. Voici trois méthodes pour limiter l'exposition aux tentatives de scraping de données :

  1. Rate limiting des requêtes - lorsqu’un humain clique sur une série de pages internet, la vitesse d’interaction avec le site est relativement prévisible, un humain ne pouvant pas parcourir 100 pages à la seconde par exemple. Les ordinateurs, quant à eux, peuvent lancer des requêtes de grande ampleur, plus rapidement que les humains, et les scrapers de données débutants peuvent utiliser des techniques de scraping non limitées pour tenter d’extraire l’ensemble d’un site très rapidement. En limitant le nombre maximum de requêtes qu'une adresse IP donnée peut effectuer sur une fenêtre de temps donnée, les sites web sont en mesure de se protéger contre les demandes d'exploitation et de limiter la quantité de scraping de données qui peut se produire sur une certaine fenêtre de temps.
  2. Modification du balisage HTML à intervalles réguliers - les bots de scraping de données s’appuient sur un formatage cohérent afin de parcourir efficacement le contenu d’un site web et pouvoir analyser et enregistrer les données utiles. Pour interrompre ce flux, une méthode consiste à modifier régulièrement les éléments du balisage HTML pour que le scraping cohérent deviennent plus compliqué. En imbriquant les éléments HTML ou en changeant les autres aspects du balisage, les efforts de scraping de données peuvent être entravés ou contrecarrés. Pour certains sites internet, chaque page fois qu’une page est rendue, certaines modifications de la protection du contenu sont randomisées et mises en œuvre. D’autres sites internet modifient de temps en temps leur code de balisage afin d’empêcher les efforts de scraping de données à plus long terme.
  3. Utilisation de CAPTCHA pour les utilisateurs à l’origine de nombreuses requêtes : en plus d’utiliser une solution de rate limiting, une autre mesure utile pour ralentir les scrapers de contenu consiste à soumettre les visiteurs des sites web à un test difficile à surmonter pour un ordinateur. Un humain pourra raisonnablement réussir le test, mais un navigateur headless* qui procède à du scraping de données ne le pourra vraisemblablement pas, et n'arrivera certainement pas à passer de manière cohérente plusieurs instance du test. Cependant, les défis CAPTCHA peuvent avoir un impact négatif sur l’expérience utilisateur.

Une autre méthode d'atténuation moins courante consiste à incorporer du contenu dans des objets médias comme des images. Étant donné que le contenu n'existe pas en chaîne de caractères, la copie du contenu est beaucoup plus complexe et nécessite la reconnaissance optique de caractères (OCR) pour extraire les données d'un fichier image. Mais cela peut également gêner les utilisateurs web qui doivent copier du contenu tel qu'une adresse ou un numéro de téléphone sur un site web au lieu de le mémoriser ou de le retaper.

*Un navigateur sans tête est un type de navigateur web, tout comme Chrome ou Firefox, mais il n'a pas d'interface utilisateur visuelle par défaut, ce qui lui permet de se déplacer beaucoup plus rapidement qu'un navigateur web classique. En fonctionnant essentiellement au niveau d'une ligne de commande, un navigateur sans tête est capable d'éviter le rendu d'applications web complètes. Les scrapers créent des bots qui utilisent des navigateurs sans tête pour demander des données plus rapidement, car aucun humain ne visualise chaque page faisant l'objet d'un scraping.

Comment arrêter complètement le web scraping ?

La seule façon d'arrêter totalement le web scraping est d'éviter de mettre du contenu sur un site web. Toutefois, l'utilisation d'une solution de gestion de bots avancée peut aider les sites web à éliminer presque complètement l'accès des scrapers.

Quelle est la différence entre le scraping de données et l’indexation de données ?

Le crawling ou indexation naturelle désigne le processus que les grands moteurs de recherche comme Google entreprennent lorsqu’ils envoient leurs robots d'indexation, comme Googlebot, parcourir le réseau pour indexer le contenu Internet. Le scraping, quant à lui est typiquement structuré pour extraire des données d’un site web particulier.

Voici trois des pratiques d’un bot scraper qui diffèrent de celles d’un robot d'indexation :

  1. Les scrapers prétendent être des navigateurs web, alors qu’un robot d'indexation indique son objectif et n’essaie pas de se faire passer pour quelque chose qu'il n'est pas.
  2. Parfois, les scrapers effectuent des tâches avancées comme remplir des formulaires, ou ont un comportement leur permettant d’avoir accès à une partie du site web. Les robots d'indexation ne le font pas.
  3. Les scrapers ne prêtent généralement aucune attention au fichier robots.txt contenant des informations spécifiquement conçues pour indiquer aux robots d'indexation quelles données analyser et quelles zones du site éviter. Étant donné qu'un scraper est conçu pour extraire du contenu spécifique, il peut donc être conçu pour extraire du contenu explicitement indiqué comme étant à ignorer.

Cloudflare Bot Management utilise l'apprentissage automatique et l’analyse comportementale pour identifier les bots malveillants, tels que les bots de scraping, afin de protéger le contenu unique et d’empêcher les bots d’abuser d’une propriété web.