Scraping

Comment construire des ensembles de données d'entraînement à grande échelle à partir du Web ouvert

Collecter des pages est la partie facile. Comment transformer un crawl du Web ouvert en corpus d'entraînement : frontière, opt-outs, extraction, filtrage, déduplication et décontamination.

Matt Brown

Matt Brown

18 septembre 2026 · 10 min de lecture

Un crawl n’est pas un corpus. Récupérer des milliards de pages est un problème d’infrastructure, traité dans collecting web data for AI and LLM training. Transformer ces pages en données d’entraînement qui améliorent un modèle est un problème différent, avec ses propres étapes, et c’est là que se décide la majeure partie de la qualité du jeu de données final.

Ce guide passe en revue ces étapes dans l’ordre : décider quoi collecter, respecter les opt-outs, extraire le texte, filtrer, dédupliquer, retirer la contamination d’évaluation, et documenter le résultat. Le pipeline général d’un jeu de données scrapé, à plus petite échelle, se trouve dans how to build a dataset with web scraping.

Partir du mélange, pas du crawler

Décidez de ce dont le modèle a besoin avant de décider quoi crawler. Un corpus d’entraînement est un mélange : des parts de langues, de domaines, de formats et de périodes, exprimées comme un budget de tokens pour chacun.

Cette cible décide de tout le reste. Elle indique de quelles régions collecter, combien de budget de crawl chaque source mérite, et quand un domaine a suffisamment contribué. Sans elle, un crawl dérive vers ce qui est le plus facile à récupérer, généralement des sites volumineux, en anglais, fortement liés, et le modèle hérite de ce déséquilibre. Le volet échantillonnage de ce problème est traité dans your residential proxy pool is a sample, not the internet.

La frontière du crawl

La frontière est la file des URL en attente d’être récupérées, et la façon dont vous la gérez décide quelles parties du web finissent dans le corpus.

Amorces (seeds). Partez de sources correspondant au mélange : listes de domaines organisées par langue et sujet, sitemaps, et liens issus de pages de haute qualité.

Priorisation. Classez les URL par valeur attendue : un a priori de qualité pour la source, la nouveauté par rapport à ce que vous détenez déjà, et la fraîcheur là où la récence compte.

Canonicalisation. Normalisez les URL avant leur mise en file, en supprimant les paramètres de suivi, les identifiants de session et les chemins dupliqués, pour que la même page ne soit pas récupérée plusieurs fois sous des adresses différentes.

Budgets de politesse. Limitez la concurrence et le débit de requêtes par hôte, pas seulement globalement. Une frontière qui martèle un petit site est à la fois irresponsable et contre-productive, puisqu’elle se fait bloquer. Les mécanismes sont détaillés dans rate limiting and request throttling.

Politique de recrawl. Décidez de la fréquence de revisite de chaque source, selon la fréquence de ses changements et la quantité de contenu frais dont le mélange a besoin.

Respecter les opt-outs au moment de la récupération

Les signaux d’opt-out doivent être vérifiés au moment où une page est récupérée et enregistrés en même temps qu’elle, car ils changent avec le temps et vous pourriez devoir prouver quel était l’état.

  • robots.txt, y compris les règles adressées aux noms de crawlers spécifiques à l’IA.
  • Signaux au niveau de la page tels que les balises meta robots et les en-têtes de réponse.
  • Réserves de droits lisibles par machine. Dans l’UE, les titulaires de droits peuvent réserver les droits de fouille de textes et de données sous une forme lisible par machine, et les fournisseurs de modèles d’IA à usage général sont censés respecter ces réserves et documenter leur contenu d’entraînement.
  • Conditions du site interdisant la collecte ou la réutilisation automatisées.

Stockez l’état d’opt-out avec chaque document, et conservez la capacité de retirer des documents ultérieurement si une source retire son autorisation. Le cadre plus large est présenté dans ethical residential proxies for AI data collection.

Extraction : du HTML au texte

Le HTML brut n’est majoritairement pas du contenu. Navigation, pieds de page, bannières de cookies, widgets d’articles connexes et publicités peuvent surpasser en nombre le texte réel d’une page.

  • Extrayez le contenu principal et écartez le passe-partout (boilerplate).
  • Préservez la structure qui porte du sens : titres, listes, tableaux et blocs de code.
  • Gérez les pages rendues. Certains contenus n’existent qu’après l’exécution de JavaScript ; voir when you need a web scraping API.
  • Identifiez la langue par document, et par paragraphe pour les pages multilingues, afin que les cibles de mélange puissent réellement être mesurées.

Conservez les réponses brutes pour une fenêtre de rejeu (replay). La logique d’extraction s’améliorera, et ré-extraire à partir des réponses stockées est bien moins coûteux que de recrawler. Le schéma d’atterrissage est présenté dans moving web scraping API data into SQL.

Filtrage de qualité

La majeure partie de ce qu’un crawl rapporte ne vaut pas la peine d’être utilisée pour l’entraînement. Le filtrage s’effectue généralement en couches, du moins coûteux au plus coûteux.

Les filtres heuristiques suppriment les déchets évidents : documents très courts, pages dominées par des symboles ou des chiffres, lignes répétées de nombreuses fois, texte sans mots grammaticaux ordinaires, et pages qui ne sont majoritairement que des listes de liens.

Les filtres de qualité basés sur des modèles évaluent les documents par rapport à des exemples du texte que vous souhaitez davantage. Ils sont puissants et encodent une définition de la qualité, donc vérifiez ce qu’ils excluent systématiquement.

Le filtrage du contenu généré compte de plus en plus chaque année, comme couvert dans how to detect and filter AI-generated content in web datasets.

Les filtres de sécurité appliquent la politique de contenu qu’exige le modèle.

Calibrez chaque filtre par langue. Un seuil ajusté sur l’anglais supprimera bien trop dans certaines langues et bien trop peu dans d’autres. Et mesurez ce que chaque étape supprime, par langue et par domaine, afin qu’un filtre qui efface silencieusement toute l’écriture d’une région soit détecté.

Déduplication à l’échelle du corpus

Le texte dupliqué est omniprésent sur le web : articles syndiqués, sites miroirs, pages basées sur des modèles et passe-partout répété à travers un domaine. Laissé tel quel, il surpondère ce qui se trouve être le plus copié.

  • Les doublons exacts sont supprimés en hachant le texte normalisé.
  • Les quasi-doublons sont trouvés avec MinHash et le hachage sensible à la localité sur du texte découpé en shingles, ce qui s’adapte à de très grands corpus.
  • Les paragraphes répétés au sein d’un domaine, tels que les avertissements et signatures, sont supprimés au niveau du paragraphe.
  • Les doublons dans le temps, où la même page apparaît dans plusieurs instantanés de crawl, sont fusionnés en une seule version.

Données personnelles

Un crawl web collecte des données personnelles que vous le vouliez ou non : noms, adresses e-mail, numéros de téléphone et parfois numéros d’identification. Ne collectez pas derrière des connexions, nettoyez les schémas d’identifiants courants pendant le traitement, et documentez ce que le pipeline supprime. Le cadre juridique est présenté dans residential proxies and GDPR compliance.

Décontamination

Si vos référentiels d’évaluation (benchmarks) apparaissent dans les données d’entraînement, vos évaluations ne mesurent plus rien. Les questions et réponses de référentiels sont copiées à travers le web, donc la contamination se produit par défaut.

Vérifiez le corpus pour tout chevauchement avec chaque ensemble d’évaluation que vous prévoyez d’utiliser, typiquement avec une correspondance de n-grammes longs, et supprimez ou signalez les correspondances. Enregistrez quels référentiels ont été vérifiés, pour que les résultats ultérieurs puissent être interprétés honnêtement.

Documenter et versionner tout

Un corpus d’entraînement est le produit de centaines de décisions, et personne ne peut l’utiliser de manière responsable sans les connaître.

  • Provenance par document : URL source, moment de récupération, le point de vue depuis lequel elle a été observée, état d’opt-out, et quelles versions de filtre elle a passées.
  • Une fiche de jeu de données (dataset card) couvrant les sources, la plage temporelle, les langues, les filtres et leurs versions, les lacunes connues et les biais connus.
  • Un pipeline reproductible, pour qu’une version du corpus puisse être reconstruite ou amendée quand une source retire son autorisation.

L’argument en faveur de l’enregistrement du lieu et du moment de chaque observation est exposé dans the vantage-point standard.

La couche de collecte à grande échelle

La collecte à grande échelle nécessite des sorties distribuées et géographiquement appropriées, à la fois pour atteindre des sources régionales et pour maintenir des débits de requêtes par hôte raisonnables. Avec la passerelle Shifter, le marché se définit dans les identifiants face à p.shifter.io:443, et omettre un identifiant de session fait tourner la sortie à chaque requête, ce qui convient à une frontière récupérant de nombreuses pages indépendantes :

customer-USERNAME-country-jp:PASSWORD

Pourquoi la couche proxy compte spécifiquement pour les données d’entraînement est traité dans residential proxies for AI training data.

Métriques qui gardent le corpus honnête

MétriqueCe qu’elle vous indique
Tokens par langue et domaine par rapport à la cibleSi le mélange est atteint
Taux de suppression par étape de filtre, par langueSi un filtre supprime trop quelque part
Taux de doublonsQuelle part du crawl était de la répétition
Couverture des opt-outsPart des documents avec une vérification d’opt-out enregistrée
Hits de contamination par référentielSi les évaluations sont fiables

FAQ

Peut-on partir d’un crawl web public plutôt que de crawler nous-mêmes ?

Les crawls publics constituent un excellent point de départ. Ils sont en retard par rapport au web en direct et présentent des lacunes de couverture, donc la plupart des équipes ajoutent une collecte ciblée et plus fraîche pour les langues et domaines qui leur importent.

Quelle doit être l’agressivité du filtrage de qualité ?

Suffisamment agressif pour supprimer les déchets, mesuré suffisamment soigneusement pour voir ce qu’il supprime d’autre. Auditez les suppressions par langue et région avant de vous engager sur des seuils.

Doit-on suivre robots.txt pour les données d’entraînement ?

Oui, y compris les règles spécifiques à l’IA, et enregistrez l’état au moment de la récupération. Les opt-outs deviennent aussi une attente légale dans certaines juridictions.

En quoi cela diffère-t-il des données de grounding ?

Les données d’entraînement façonnent les poids du modèle. Les données de grounding sont récupérées au moment de la réponse et citées. Le second point est traité dans grounding LLM agents with live web data.

En résumé

Un corpus d’entraînement à grande échelle se construit dans les étapes qui suivent le crawl : une cible de mélange qui décide quoi collecter, une frontière qui reste polie, des opt-outs vérifiés et enregistrés au moment de la récupération, une extraction propre, un filtrage en couches calibré par langue, une déduplication à tous les niveaux, une décontamination contre les évaluations, et une documentation qui permet à quiconque de reconstruire les décisions.

Collectez depuis les régions dont le mélange a besoin, conservez les réponses brutes pour le rejeu, et mesurez ce que chaque étape supprime. La vue produit se trouve sur la page residential proxies for AI and ML, avec les tarifs sur la page de tarification.

Prêt à commencer ?

Essayez les proxies résidentiels de Shifter, 205M+ IPs, 195+ pays, à partir de 0,75 $/GB.

Commencer