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 précieuses d'un site web.

Data Scraping

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

En règle générale, les entreprises ne souhaitent pas que leur contenu unique soit téléchargé et réutilisé à des fins non autorisées. Par conséquent, elles n'exposent pas toutes les données via une API consommable ou une autre ressource facilement accessible. D'autre part, les scrapers, ou bots d'extraction de contenu, cherchent à obtenir les données du site web en ne tenant pas compte des limites d'accès du site. En conséquence, les scrapers et les diverses stratégies de protection du contenu se livrent à un jeu de chat et de souris, chacun essayant de déjouer 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 l’information, que nous appelons « bot scraper » ou bot d'extraction, 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 d’extraction.

Les bots d’extraction peuvent être conçus à plusieurs fins, notamment :

  1. Extraction de contenu - le contenu peut être extrait du site web vers un autre site afin de reproduire l'avantage unique d'un produit ou service particulier qui repose sur le contenu. Par exemple, un produit comme Yelp reposant sur des avis, un concurrent pourrait extraire tout le contenu des avis de Yelp et reproduire le contenu sur son propre site, en faisant semblant que le contenu est original.
  2. Scraping de prix - en extrayant les données sur les prix, les concurrents peuvent rassembler des informations sur leur concurrence. Cela peut leur permettre de formuler un avantage unique.
  3. Scraping des contacts : de nombreux sites web contiennent des adresses e-mail et des numéros de téléphone sous forme de texte en clair. En extrayant des emplacements comme un répertoire d'employés en ligne, un scraper est capable de rassembler des coordonnées pour procéder à des listes d'envoi massif d'e-mails, des appels robotisés ou des tentatives d'ingénierie sociale malveillantes. C'est l'une des principales méthodes utilisées par les spammeurs et les fraudeurs pour trouver de nouvelles cibles.

Comment l'extraction web est-elle atténuée ?

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é d'extraction web qui peut se produire. Voici trois méthodes pour limiter l'exposition aux tentatives de scraping de données :

  1. Rate limiting des requêtes - pour un visiteur humain qui clique sur une série de pages web d'un site web, la vitesse d'interaction avec le site web est assez prévisible. Un humain ne parcourt jamais 100 pages web par seconde, par exemple. Les ordinateurs, en revanche, peuvent effectuer des requêtes en grand nombre plus rapidement qu'un humain, et les scrapers de données novices peuvent utiliser des techniques d'extraction non limitées pour tenter d'extraire les données d'un site web entier très rapidement. En limitant le nombre maximal de requêtes qu'une adresse IP particulière peut effectuer sur une fenêtre de temps donnée, les sites web sont en mesure de se protéger contre les requêtes abusives et limiter la quantité d'extraction de données pouvant survenir dans une certaine fenêtre.
  2. Modifier les balises HTML à intervalles réguliers - les bots d'extraction de données se fient à un formatage cohérent afin de parcourir efficacement le contenu du site web et analyser puis enregistrer les données utiles. Une méthode pour interrompre ce flux de travail consiste à modifier régulièrement des éléments des balises HTML pour rendre l'extraction cohérente plus compliquée. En plaçant des éléments HTML ou en modifiant d'autres aspects du balisage, le scraping de données simple sera entravé ou contrecarré. Pour certains sites web, chaque fois qu'une page web est rendue, certaines formes de modifications de la protection du contenu sont randomisées et mises en œuvre. D'autres sites web modifient occasionnellement leur code de balisage pour empêcher les tentatives de scraping de données à long terme.
  3. Utiliser CAPTCHA pour les demandeurs à volume élevé : en plus d'utiliser une solution de Rate Limiting, une autre étape utile pour ralentir les scapers de contenu consiste à demander à un visiteur de site web de passer un test difficile à surmonter pour un ordinateur. Bien qu'un humain puisse raisonnablement relever le test, un navigateur* sans tête se livrant à du scraping de données ne le pourra probablement pas, et certainement pas de manière cohérente dans de nombreux tests de ce type. Toutefois, les tests CAPTCHA constants 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 extracteurs de données créent des bots qui utilisent des navigateurs sans tête pour demander des données plus rapidement, car il n'y a aucun humain qui visualise chaque page faisant l'objet d'une extraction.

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 entièrement. 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 ?

L'indexation fait référence au processus que les grands moteurs de recherche comme Google entreprennent lorsqu'ils envoient leurs robots d'indexation, tels que Googlebot, sur le réseau pour indexer le contenu Internet. Le scraping, est généralement structuré pour extraire spécifiquement les données d'un site web particulier.

Voici trois des pratiques d’un bot scraper qui sont différentes du comportement d’un robot d'indexation :

  1. Les scrapers prétendent être des navigateurs internet, 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 extracteurs ne tiennent généralement pas compte du fichier robots.txt, qui est un fichier texte contenant des informations spécifiquement conçues pour indiquer aux robots d'indexation web quelles données analyser et quelles zones du site éviter. Étant donné qu'un scraper est conçu pour extraire un contenu spécifique, il peut être conçu pour extraire du contenu marqué explicitement pour être ignoré.

La gestion des bots malveillants par Cloudflare utilise l'apprentissage automatique (machine learning) et l’analyse comportementale pour identifier les bots malveillants, tels que les bots d’extraction, afin de protéger le contenu unique et d’empêcher les bots d’abuser d’une propriété web.