Web scraping pour LLM : préparer le web pour vos modèles
Alimenter un LLM avec le web suppose un contenu propre, structuré et à jour. Voici comment passer du HTML brut à des documents prêts pour un modèle de langage : récupération, nettoyage, Markdown, estimation des jetons et pipeline RAG.
Pourquoi préparer le web pour un LLM
Un modèle de langage ne « voit » pas une page web : il voit le texte qu'on lui fournit. Si ce texte est un HTML brut truffé de menus, de scripts et de cookies, le modèle dépense des jetons sur du bruit et répond moins bien.
Préparer le web pour un LLM, c'est transformer des pages en documents propres : contenu utile, structure explicite et métadonnées. C'est l'étape qui conditionne la qualité d'un RAG comme d'un corpus d'entraînement.
- Contenu utile isolé du bruit
- Structure explicite (titres, listes, tableaux)
- Documents courts et cohérents
Le problème du HTML brut
Une page HTML typique contient le contenu réel noyé dans la navigation, les pieds de page, les bandeaux cookies, la publicité et des scripts de suivi. Ce balisage représente une part importante du document.
Fournir ce HTML tel quel à un modèle revient à payer pour du bruit : chaque balise, attribut et script consomme des jetons sans apporter d'information utile. Il faut donc nettoyer avant d'indexer.
Étape 1 — Récupérer le contenu réel
Beaucoup de sites rendent leur contenu côté client : une requête HTTP simple ne renvoie qu'un squelette vide. Il faut exécuter un navigateur headless (Playwright, Puppeteer) et attendre le rendu pour obtenir le HTML réel.
Les sites protégés ajoutent fingerprinting, CAPTCHA et limitation de débit. Un moteur « stealth » et une cadence maîtrisée permettent d'atteindre le contenu sans effet de bord sur le site source.
Étape 2 — Convertir en Markdown propre
On retire d'abord les éléments parasites (navigation, scripts, cookies, publicités) pour ne garder que le contenu principal, idéalement via une extraction de type « Readability ». On convertit ensuite le HTML restant en Markdown.
Le Markdown conserve la structure sémantique (titres, listes, tableaux, liens) tout en supprimant les balises de présentation. Un Markdown propre est lisible par un humain comme par une machine.
- Un seul titre de niveau 1 par document
- Tableaux et blocs de code bien délimités
- Liens et images en URL absolue
Estimer la réduction de jetons
Les jetons se comptent sur le texte fourni au modèle. Puisqu'une part importante d'une page HTML est du balisage et du bruit, remplacer le HTML par un Markdown nettoyé réduit mécaniquement le nombre de jetons pour un même contenu utile.
L'ordre de grandeur varie fortement selon les pages : une page riche en navigation, scripts et publicités se réduit beaucoup plus qu'une page déjà minimale. L'idée reçue d'une réduction d'environ ×10 correspond à ces pages chargées — mais elle doit se mesurer, pas se supposer.
- Méthode : compter les jetons du HTML brut, puis ceux du Markdown nettoyé
- Mesurer sur VOS pages : le ratio dépend du bruit, pas d’un chiffre universel
- Comparer à contenu utile équivalent (même page, même périmètre)
Extraire un JSON structuré quand il faut des champs
Le Markdown convient à la lecture et au RAG, mais parfois vous cherchez des champs précis (prix, date, auteur). Le texte libre ne suffit alors plus : il faut des données structurées.
Décrivez le schéma attendu et récupérez un JSON conforme, que vous validez côté code (Pydantic, Zod, JSON Schema). Vous combinez ainsi un document Markdown lisible et des champs typés pour l'automatisation.
Construire un pipeline RAG fiable
Un pipeline RAG fiable repose sur des documents propres, un découpage maîtrisé et une traçabilité source → segment. Le Markdown par page facilite ce découpage et la citation des sources.
ScraperFlow livre un artefact par page et conserve l'arborescence des URL : vous gardez le lien entre chaque segment et son origine, indispensable pour vérifier une réponse ou citer la source.
Questions fréquentes
Peut-on alimenter un LLM avec du contenu scrapé ?
Oui, à condition de préparer le contenu : récupérer le HTML réel, retirer le bruit et convertir en Markdown ou JSON. Fournir du HTML brut dégrade la qualité et gaspille des jetons. Vérifiez aussi le cadre légal (robots.txt, RGPD) de chaque source.
Quel format privilégier : HTML, Markdown ou JSON ?
Le Markdown pour la lecture et le RAG (structure conservée, bruit retiré) ; le JSON quand vous avez besoin de champs précis et typés ; le HTML brut uniquement si vous devez traiter la mise en page. En pratique, on combine Markdown pour le texte et JSON pour les champs.
Comment estimer le nombre de jetons d’une page ?
On compte les jetons du texte fourni au modèle. Convertissez la page en Markdown nettoyé, puis comptez les jetons de ce Markdown avec le tokenizer du modèle visé. Comparez au comptage sur le HTML brut pour obtenir la réduction réelle sur vos pages.
Est-ce légal de scraper le web pour un LLM ?
Le scraping n'est pas interdit en soi, mais il s'encadre : respect du robots.txt et des conditions d'utilisation, minimisation des données personnelles (RGPD), finalité légitime. Pour un usage commercial ou un entraînement, vérifiez les droits sur les contenus récupérés.
Prêt à aspirer un site web ?
Lancez votre premier scraping en quelques secondes, gratuitement.
Lancer un scraping