~/blog/web-scraping-best-practices-2026

Bonnes pratiques de web scraping en 2026 : le guide du praticien

web-scrapingbest-practicesdata-extractionarchitecture

Après avoir développé et maintenu 15 scrapers de production qui servent plus de 3 100 utilisateurs avec des taux de réussite >99%, voici les pratiques qui comptent vraiment.

Architecture : penser en pipelines, pas en scripts

La plus grosse erreur que je constate consiste à traiter le scraping comme un processus en une seule étape. Les scrapers de production sont des pipelines de données :

  1. Découverte des URL — identifier quoi scraper (sitemaps, pages de catégorie, recherche, API)
  2. Exécution des requêtes — récupérer les données avec une stratégie de retry et de rotation adaptée
  3. Parsing — extraire les champs structurés à partir des réponses brutes
  4. Normalisation — nettoyer, valider et standardiser la sortie
  5. Stockage — pousser vers des datasets, des bases de données ou des systèmes en aval

Chaque étape doit pouvoir être testée et relancée indépendamment. Quand Sephora change la mise en page de ses pages produit, seule l’étape 3 doit être mise à jour — le reste du pipeline reste stable.

Toujours préférer les API au parsing HTML

Avant d’écrire le moindre sélecteur CSS, vérifiez si le site propose :

  • Des API publiques — des endpoints documentés qui renvoient du JSON
  • Des API privées — des appels XHR/fetch visibles dans les DevTools du navigateur
  • Des endpoints GraphQL — de plus en plus courants, souvent avec l’introspection activée
  • Du JSON embarqué__NEXT_DATA__, window.__INITIAL_STATE__, ou du JSON-LD dans le HTML

Les réponses d’API sont structurées, versionnées, et bien plus stables que les mises en page HTML. Mon scraper Sephora convertit chaque URL web en appel API — il n’a jamais cassé suite à une refonte du frontend.

Stratégie de proxy : s’adapter à la protection

Tous les sites n’ont pas besoin de proxies résidentiels. Voici mon cadre de décision :

Niveau de protectionType de proxySites exemples
Aucune / basiqueDatacenterLa plupart des boutiques Shopify, petits sites
Limitation de débitDatacenter rotatifE-commerce moyen, sites de contenu
FingerprintingRésidentielSephora, Farfetch, grandes marques
WAF avancéRésidentiel + empreinte TLSAkamai, Cloudflare Enterprise

L’enseignement clé : le coût des proxies augmente avec le niveau de protection. Ne gaspillez pas d’argent en proxies résidentiels pour des sites qui ne vérifient que la réputation IP. Mon scraper Shopify fonctionne très bien avec des proxies datacenter, car la protection par défaut de Shopify est minimale.

La gestion de session, c’est tout

La différence entre un taux de réussite de 60% et de 99% tient généralement à la gestion de session :

  • Faites tourner les sessions, pas seulement les IP — une nouvelle IP avec les mêmes cookies paraît suspecte
  • Mettez les sessions en chauffe — visitez la page d’accueil avant d’attaquer les pages produit
  • Respectez les limites de débit — 5 requêtes concurrentes valent mieux que 50 qui se font bloquer
  • Backoff exponentiel — des tentatives à 1s, 2s, 4s, 8s, jamais de nouvelle tentative immédiate

Mon scraper Sephora EU gère les jetons invité avec rafraîchissement automatique et backoff exponentiel. Il maintient des sessions persistantes qui reproduisent des motifs de navigation réalistes.

Normalisez votre sortie

Les données brutes issues du scraping sont désordonnées. Normalisez tout :

Prix

Stockez-les sous forme d’entiers (en cents, pas en dollars). $29.99 devient 2999. Cela évite les erreurs de précision en virgule flottante qui corrompent les données financières en aval. Chacun de mes scrapers e-commerce utilise cette convention.

URLs

Stockez toujours des URL absolues, jamais de chemins relatifs. Résolvez-les au moment de l’extraction.

Dates

ISO 8601 (2026-04-01T00:00:00Z), toujours avec le fuseau horaire. Ne stockez jamais de dates formatées selon une locale.

Texte

Supprimez les espaces superflus, normalisez l’Unicode, et définissez une politique de gestion du HTML (retirer les balises ou conserver la mise en forme).

Gestion des erreurs : anticipez l’échec

Les scrapers de production échouent en permanence — la question est de savoir avec quelle élégance. Mon approche :

1Request fails (network error, timeout, 4xx/5xx)
2  → Retry with exponential backoff (up to 5 attempts)
3    → Rotate session/proxy on retry
4      → Log failure with full context if all retries exhausted
5        → Continue processing remaining URLs (don't crash the batch)

Suivez les taux de réussite par motif d’URL. Si les pages /category/* chutent soudainement sous 90% de réussite, le site a probablement changé quelque chose — vous le détecterez avant que les utilisateurs ne le signalent.

Surveillance et alertes

Un scraper sans surveillance est un scraper qui attend de tomber en panne silencieusement. Suivez :

  • Le taux de réussite par exécution et par motif d’URL
  • Le volume de sortie — une chute soudaine signale qu’un problème est survenu
  • La qualité des données — champs nuls, valeurs inattendues, violations de schéma
  • Le coût — usage des proxies, temps de calcul, stockage

Tous mes acteurs Apify exposent ces métriques. Quand le taux de réussite chute, je suis notifié en quelques heures — souvent avant même qu’un utilisateur ne s’en aperçoive.

Commencez simple, ajoutez la complexité progressivement

Chaque scraper que je construis démarre comme la solution la plus simple qui fonctionne :

  1. HTTP + Cheerio en premier (le plus rapide, le moins cher)
  2. Ajoutez le fingerprinting seulement en cas de blocage
  3. Ajoutez le rendu navigateur seulement si JavaScript est requis
  4. Ajoutez la rotation de proxy seulement en cas de limitation de débit

Mon scraper Ulta est du pur Cheerio — aucun navigateur nécessaire. Mon Universal Web Printer utilise Playwright car il doit rendre du JavaScript. Le bon outil pour la bonne tâche.


Ce ne sont pas des principes théoriques — ils sont tirés de l’exploitation de scrapers de production qui traitent des millions de requêtes. Si vous avez besoin d’un scraper sur mesure construit selon ces pratiques, parlons-en.

whoami
Richard Feng
Ingénieur web scraping, plus de 12 ans d’expérience. Je conçois des scrapers de production qui renvoient du JSON propre et prêt pour le RAG pour l’IA.

en lien

Comprendre la protection anti-bot : ce qui fonctionne en 2026

Une plongée technique dans les systèmes anti-bot modernes — Cloudflare, Akamai, Datadome — et les techniques de contournement légitimes utilisées en scraping de production.

Besoin de ces données en JSON propre ?

Parcourez le catalogue de scrapers, ou engagez-moi pour construire un extracteur sur mesure et un pipeline RAG pour votre source.

parcourir les outils obtenir des données sur mesure