Un scraper web : comment collecter des données sur Internet

4 min de lecture

Recopier à la main les prix du site d'un fournisseur dans un tableur, ça passe pour vingt produits. Pour deux mille, cela prend une semaine et laisse encore des fautes de frappe. Un scraper web (aussi appelé parseur) est un petit programme qui ouvre les pages à votre place, prend les mêmes informations sur chacune et les enregistre sous forme de tableau. Voici ce qu'il sait faire, ce qu'il faut préparer et quelles règles respecter.

Un scraper web qui collecte des données dans un tableau

À quoi sert un scraper

Un scraper est utile dès que le même type d'information se trouve sur de nombreuses pages similaires :

  • Prix et stocks. Suivez l'évolution des prix d'un fournisseur ou les articles en rupture.
  • Le catalogue d'un fournisseur. Transférez noms, descriptions, images et prix dans votre propre boutique.
  • Les annonces. Rassemblez dans un seul tableau des annonces immobilières, automobiles ou d'emploi publiées sur un site public.
  • Événements et articles. Récupérez dates, titres et liens d'un agenda ou d'une page d'actualités publics.

Ne collectez que ce que vous avez le droit de collecter

Avant toute chose, vérifiez que les données peuvent légitimement être reprises :

  • Uniquement des pages publiques. S'il faut se connecter pour voir les données, un scraper n'est pas le bon outil.
  • Lisez les conditions d'utilisation du site. Beaucoup de sites précisent ce qui peut ou non être collecté. Les grandes plateformes, les moteurs de recherche et les réseaux sociaux l'interdisent généralement ; utilisez plutôt leur export officiel ou leur API.
  • Respectez un rythme raisonnable. Une pause de quelques secondes entre les pages limite la charge sur le site. N'essayez jamais de contourner les captchas ou les blocages.
  • Respectez les lois sur la protection des données. Les noms, e-mails et numéros de téléphone de personnes sont des données personnelles, et de nombreux pays en encadrent strictement la collecte. Laissez-les de côté.

Au final, c'est à vous de décider si vous pouvez collecter et utiliser les données d'un site : vérifiez donc avant de commencer.

Décrivez les pages

Un scraper est écrit pour la structure réelle des pages, alors soyez précis :

  • Un lien vers une page de liste et un lien vers une page d'article.
  • Le nombre approximatif de pages, par exemple « environ 40 pages de liste avec 24 produits chacune ».
  • Une ou deux pages enregistrées depuis votre navigateur (Fichier > Enregistrer la page sous) ou des captures d'écran.

Listez les champs comme des colonnes de tableau

Imaginez le résultat comme un tableur et nommez ses colonnes dans l'ordre, avec un exemple pour chacune :

  • Nom : « Planche à découper en chêne, grande »
  • Prix : « 34.90 »
  • Ancien prix : « 39.90 », si l'article est en promotion
  • En stock : « oui »
  • Lien vers la page de l'article et lien vers l'image

Dix champs clairs valent mieux que trente champs flous. Ajoutez toute règle utile, comme « uniquement les articles en stock ».

Choisissez le format et l'endroit où il tourne

  • CSV s'ouvre dans n'importe quel tableur et s'importe dans la plupart des solutions e-commerce.
  • Excel est plus pratique si vous filtrez et triez à la main.
  • JSON convient à un développeur qui chargera les données ailleurs.

Le scraper tourne sur votre propre ordinateur avec Python : les données arrivent directement chez vous, et vous pouvez le relancer dès que vous avez besoin de chiffres à jour.

Quand le site change

Un scraper suit les pages telles qu'elles sont aujourd'hui. Si le site change de design, le scraper peut ne plus trouver les champs et doit être mis à jour. Un site peut aussi limiter les visites même à un rythme raisonnable. Anticipez-le si vous comptez sur ces données chaque semaine.

En bref

Déterminez les pages publiques et les champs dont vous avez besoin, vérifiez les conditions du site, gardez un rythme raisonnable et laissez les données personnelles de côté. Si vous préférez ne pas écrire le code vous-même, commandez un scraper web : vous envoyez le site, les champs et une ou deux pages enregistrées, et vous recevez le code Python, un fichier de paramètres et un guide pas à pas pour le lancer et obtenir un CSV, un Excel ou un JSON. Le paiement n'est versé qu'une fois que vous avez validé le travail.