robots.txt pour le Web Scraping : Ce qu'il Engage, Ce qu'il n'Engage Pas
robots.txt est une convention, pas un contrat - et pas un verrou. Voici ce qu'il demande réellement à un scraper, ce qu'il ne peut pas imposer, et comment le respecter tout en obtenant des données.
Chaque conversation sur l'éthique du scraping commence par robots.txt, et la plupart se trompent dans un des deux sens - le traiter comme une loi pour laquelle vous serez arrêté si vous la brisez, ou comme un bruit que vous pouvez ignorer entièrement. Ce n'est ni l'un ni l'autre. robots.txt est une convention volontaire qui indique aux bots bien élevés quels chemins un site préférerait qu'ils évitent. Savoir exactement ce qu'il engage et ce qu'il n'engage pas est ce qui sépare une opération de données professionnelle d'une imprudente. Ceci est un guide pour les praticiens, et une note préalable : ceci est informatif, pas un conseil juridique.
Ce qu'est réellement robots.txt
robots.txt met en œuvre le Robots Exclusion Protocol, standardisé en 2022 sous le nom de RFC 9309. C'est un fichier texte brut qui se trouve à la racine d'un domaine - https://example.com/robots.txt - avec un fichier par domaine ou sous-domaine. Il est facultatif : un 404 signifie simplement que le site n'a pas de fichier et n'a exprimé aucune préférence. Fondamentalement, c'est une demande, pas une barrière. Rien dans le fait de servir un robots.txt n'empêche techniquement l'accès ; il repose sur la bonne foi des bots qui le lisent.
Le lire est une seule requête - faites cela avant de crawler quoi que ce soit, à chaque fois :
# Just read it
curl -s https://example.com/robots.txt
# Through a proxy, as your scraper would see it
curl -s -x http://USER:PASS@gate.quantumproxies.io:8000 https://example.com/robots.txt
Les directives qui comptent
Le vocabulaire est restreint. Apprenez-les et vous pourrez lire n'importe quel robots.txt d'un coup d'œil :
User-agent- quel bot les règles suivantes ciblent.*signifie tous les bots ; un nom commeGoogleboten cible un. Les noms de directives ne sont pas sensibles à la casse, mais les valeurs de chemin le sont :/Private/n'est pas/private/.Disallow- un préfixe de chemin à ne pas crawler.Disallow: /admin/bloque ce dossier et tout ce qui est en dessous.Disallow: /bloque tout le site ; unDisallow:vide permet tout.Allow- une dérogation non standard mais universellement honorée qui réautorise un chemin à l'intérieur d'un chemin interdit.Crawl-delay- un indice non standard demandant N secondes entre les requêtes. Honorez-le : l'ignorer est l'un des moyens les plus rapides d'être signalé.Request-rateetVisit-time- directives rares qui limitent les requêtes par intervalle ou restreignent le crawling à certaines heures UTC.Sitemap- une URL absolue vers le sitemap XML. Pas une restriction, un cadeau : il cartographie la structure du site pour vous.
Une mise en garde sur la syntaxe : les jokers * et $ dans les modèles de chemin ne sont pas dans la norme originale, mais chaque moteur majeur les honore, donc Disallow: /*.pdf$ est courant et efficace en pratique.
import urllib.robotparser as rp
# Parse robots.txt and check a URL for your user agent
robots = rp.RobotFileParser()
robots.set_url("https://example.com/robots.txt")
robots.read()
UA = "MyResearchBot/1.0"
print(robots.can_fetch(UA, "https://example.com/products")) # True / False
print(robots.crawl_delay(UA)) # seconds, or None

Ce qu'il engage - et ce qu'il n'engage pas
C'est la partie que les gens ont le plus besoin de clarifier. robots.txt n'est pas, en soi, juridiquement contraignant, et ce n'est pas un mécanisme de contrôle d'accès technique - il ne verrouille rien. Les tribunaux ont généralement traité les données publiques bien connues comme publiques. Mais 'pas une loi en soi' n'est pas la même chose que 'aucune conséquence'. Ignorer les souhaits déclarés d'un site peut devenir un facteur dans les arguments de conditions d'utilisation, d'intrusion ou d'utilisation abusive d'ordinateur, cela invite aux blocages et à un examen supplémentaire, et c'est simplement une mauvaise citoyenneté. La position pragmatique : traitez robots.txt comme un plancher éthique que vous honorez, et traitez les véritables questions juridiques - données personnelles, contrats, juridiction - comme une question distincte à bien gérer. Notre aperçu de la légalité du web scraping en 2026 couvre ces aspects séparément.
Le changement des crawlers IA
robots.txt a pris une seconde vie en tant que canal d'exclusion pour la formation IA. Les sites ajoutent maintenant des règles explicites pour les agents utilisateurs IA - GPTBot, Google-Extended, CCBot, ClaudeBot, PerplexityBot et d'autres - pour dire 'indexez-moi, mais ne vous entraînez pas sur moi'. C'est pourquoi les chercheurs soutiennent maintenant que robots.txt n'est plus suffisant à lui seul pour garder les données publiques hors des modèles : cela dépend entièrement de chaque crawler choisissant d'obéir, et cela ne s'adresse qu'aux agents déclarés et bien élevés. Si vous exploitez un crawler, déclarer un User-Agent honnête et respecter ces exclusions est le minimum. Le fichier compagnon émergent pour l'intention opposée - inviter les outils IA - est llms.txt, que nous couvrons dans notre guide de llms.txt.
# A modern robots.txt often carries AI-specific opt-outs:
# User-agent: GPTBot
# Disallow: /
#
# User-agent: Google-Extended
# Disallow: /
#
# User-agent: *
# Crawl-delay: 5
# Sitemap: https://example.com/sitemap.xml

Être un bon citoyen tout en obtenant des données
Respecter robots.txt et collecter les données publiques dont vous avez besoin ne sont pas en conflit. Les disciplines qui vous gardent bienvenu sont les mêmes qui vous gardent débloqué : honorez Crawl-delay et espacez vos requêtes, identifiez votre bot honnêtement, mettez en cache de manière agressive pour ne jamais re-télécharger la même page, et évitez les points de terminaison coûteux qu'un site essaie de protéger. La norme communautaire, bien exprimée sur les forums, est que robots.txt existe principalement pour décourager les bots qui génèrent un trafic écrasant - alors ne soyez pas ce bot. Notre guide de scraping poli transforme cela en règles concrètes de rythme.
Pour les équipes qui veulent que la conformité soit gérée par défaut, une Scraper API peut lire et respecter robots.txt dans le cadre de la requête, en plus d'une limitation de rythme raisonnable - de sorte que la bonne citoyenneté soit le comportement par défaut de l'outil, pas une case à cocher que vous pourriez oublier. Cela maintient également une empreinte propre et déclarée plutôt qu'un script brut martelant depuis une IP.
Collectez les données publiques de manière conforme
Questions fréquemment posées
robots.txt s'applique-t-il légalement au web scraping ?
Pas par lui-même. robots.txt est une convention volontaire (RFC 9309), pas une loi ou un contrat, et il ne bloque pas techniquement l'accès. Mais l'ignorer peut alimenter des réclamations de conditions d'utilisation, d'intrusion ou d'utilisation abusive d'ordinateur et invite aux blocages et à un examen minutieux. Traitez-le comme un plancher éthique à honorer, et gérez les véritables questions juridiques - données personnelles, contrats - séparément. Ceci n'est pas un conseil juridique.
Comment lire le robots.txt d'un site web ?
Envoyez une requête HTTP GET à la racine du domaine avec /robots.txt ajouté, par exemple https://example.com/robots.txt. curl ou tout client HTTP fonctionne ; en Python, urllib.robotparser le parse et répond à can_fetch() pour un agent utilisateur et une URL donnés. Un 404 signifie que le site n'a pas de robots.txt et n'a exprimé aucune préférence de crawl.
Que signifie Disallow: / ?
Cela demande à tous les bots correspondants de ne pas crawler aucun chemin sur le site - tout le domaine est interdit par demande. Un Disallow: vide signifie le contraire : tout est autorisé. Rappelez-vous que ce sont des demandes aux crawlers bien élevés, pas des barrières imposées, et que les valeurs de chemin sont sensibles à la casse tandis que les noms de directives ne le sont pas.
Puis-je ignorer robots.txt si les données sont publiques ?
Techniquement, vous pouvez, puisqu'il n'est pas imposé, mais vous ne devriez généralement pas. L'ignorer est une mauvaise citoyenneté, vous fait bloquer plus rapidement, et peut renforcer l'argument d'un site contre vous dans un litige. L'approche professionnelle est de le respecter, de scraper uniquement les chemins publics autorisés, d'espacer vos requêtes, et de garder les données personnelles entièrement hors de portée.
robots.txt est un petit fichier qui porte un grand signal : voici comment ce site veut être crawlé. Lisez-le d'abord, honorez les chemins et le rythme, déclarez qui vous êtes, et vous pourrez collecter les données publiques dont vous avez besoin tout en restant fermement du bon côté à la fois de l'étiquette et du risque.
Essayez la Scraper API avec un crawling conscient des robots