Le web scraping consiste à récupérer automatiquement des informations affichées sur des sites web et à les ranger en lignes et en colonnes. Une page est faite pour être lue par un humain, un tableau pour être lu par une machine, et tout le métier tient dans l'écart entre ces deux formats.
Publié le
Un programme de collecte fait trois choses à la suite : il demande une page, il en extrait les valeurs qui vous intéressent, il les range dans un format stable. Dit comme ça c’est simple, et pour un site d’une centaine de pages ça l’est effectivement.
La difficulté apparaît avec l’échelle et la durée. Sur dix mille pages, il faut gérer les lenteurs, les erreurs passagères, les pages qui répondent différemment selon l’heure. Sur six mois, il faut survivre aux changements du site. C’est la seconde partie qui coûte cher. On en parle peu.
Une même donnée peut presque toujours s’obtenir de plusieurs façons, qui n’ont ni le même coût ni la même durée de vie. Le premier travail est de choisir le bon chemin, parce que ce choix détermine tout le reste.
| Chemin | Ce que c’est | Solidité |
|---|---|---|
| Flux officiel | Le site propose une API publique, un export, un fichier produit, un jeu de données ouvert. | La meilleure. Engagement de stabilité, cadre d’usage clair. |
| API interne | Les appels que la page passe elle-même en arrière-plan pour se remplir, souvent en JSON déjà structuré. | Bonne, mais sans aucune garantie de la part du site. |
| Lecture du HTML | Extraction depuis le code de la page telle qu’elle s’affiche. | La plus fragile. Une refonte graphique suffit à tout casser. |
Vous ne savez pas par quel chemin vos données sont accessibles ? C’est la première chose que nous déterminons, et cette étude ne vous est pas facturée.
Demander un devisBeaucoup de prestations partent directement sur le troisième chemin parce que c’est le plus immédiat à écrire. C’est aussi celui qui garantit de rappeler le prestataire tous les trois mois. Vérifier d’abord l’existence des deux premiers change la nature du travail : on passe d’un bricolage à maintenir à une intégration qui tient.
À retenir
Avant de payer pour une extraction, demandez toujours par quel chemin elle passe. Si la réponse est « on lit la page », le devis devrait inclure la maintenance, parce qu’elle sera nécessaire.
La difficulté ne se voit pas à l’œil nu. Un site visuellement complexe peut être trivial à collecter, et une page toute simple peut être verrouillée. Quatre facteurs comptent vraiment.
Sur beaucoup de sites récents, la page reçue est presque vide et se remplit ensuite par des appels en arrière-plan. Il faut alors soit retrouver ces appels, soit exécuter la page dans un vrai navigateur, ce qui coûte bien plus cher.
Un contenu derrière un compte, un panier ou un formulaire de recherche demande de reproduire un parcours, pas seulement de demander une adresse. Chaque étape supplémentaire est un point de rupture de plus.
Certains sites emploient des dispositifs de détection automatisée. Leur efficacité varie énormément, du simple ralentissement au blocage réel que rien ne contourne durablement. C’est le seul facteur qu’il faut tester avant de s’engager, parce qu’aucune expertise ne permet de le deviner de l’extérieur.
Collecter mille pages une fois et cent mille pages chaque jour sont deux métiers différents. Le second demande une infrastructure, une répartition de la charge et une stratégie de rafraîchissement : avec un budget de requêtes fini, il faut décider quoi mettre à jour en priorité.
Souvent oui, et nous préférons le dire plutôt que vendre du développement là où il n’en faut pas.
Pour quelques dizaines de pages, sur un site qui affiche son contenu directement, sans besoin de recommencer le mois prochain : un outil sans code fait le travail, et vous n’avez besoin de personne.
Il cesse de suffire sur trois seuils précis. Quand le contenu arrive par des appels en arrière-plan et que la page reçue est vide. Quand il faut un compte, un panier ou un parcours de recherche pour atteindre la donnée. Et surtout quand la collecte doit encore fonctionner dans six mois : un outil ne vous préviendra pas qu’une colonne est vide depuis mardi, il continuera de livrer un fichier.
Les pages qui expliquent le web scraping sont presque toutes écrites par ceux qui vendent ces outils. C’est pour cela qu’on y trouve rarement la seconde moitié de cette réponse.
La question mérite mieux qu’un oui ou un non. Trois plans se superposent et ne donnent pas toujours la même réponse.
En pratique, la plupart des projets de veille tarifaire ou de catalogue se situent dans une zone raisonnable. Les ennuis viennent presque toujours de deux endroits : les données personnelles, et la reproduction à l’identique d’une base entière.
Écrire un collecteur qui fonctionne aujourd’hui est à la portée de beaucoup de monde, et les assistants de programmation ont encore abaissé cette barre. Ce qui reste difficile, c’est ce qui vient après : savoir que la collecte d’hier soir est fausse.
Un collecteur ne tombe presque jamais franchement. Il se dégrade. Le fichier arrive, il a le bon nombre de colonnes, et trois d’entre elles sont vides depuis mardi. Sans contrôle de cohérence, personne ne s’en aperçoit avant qu’un client le signale.
Le test à faire
Prenez votre collecte actuelle et demandez-vous ce qui se passerait si une source renvoyait demain des valeurs cent fois trop grandes. Si la réponse est « elles seraient publiées », le problème n’est pas l’extraction.
Envoyez les adresses des sites et la liste des champs voulus. L'étude de faisabilité n'est pas facturée, et la réponse est donnée telle quelle, y compris quand c'est non.