Robots.txt pour le guide sur le Scraping web

Dans ce guide, vous découvrirez le fichier robots.txt, son importance pour le Scraping web et comment l’utiliser dans le processus de scraping.
5 min de lecture
Robots.txt for web scraping

Ce guide sur le scraping web abordera les thèmes suivants :

  • Qu’est-ce que le fichier robots.txt ?
  • Pourquoi est-il important pour le Scraping web ?
  • Conséquences de son ignorance lors du scraping d’un site
  • Directives courantes à connaître pour le Scraping web
  • Comment l’utiliser dans un processus de Scraping web

Qu’est-ce que robots.txt ?

robots.txt est un fichier texte utilisé pour mettre en œuvre le protocole d’exclusion des robots (REP), une norme qui indique aux robots web comment interagir avec un site. Plus précisément, robots.txt spécifie quels robots sont autorisés à visiter le site, quelles pages et ressources ils peuvent consulter, à quelle fréquence, etc. Ces robots sont généralement des robots d’indexation utilisés par les moteurs de recherche tels que Google, Bing et DuckDuckGo pour indexer le Web.

Selon les spécifications de Google, chaque domaine (ou sous-domaine) peut avoir un fichier robots.txt. Celui-ci est facultatif et doit être placé dans le répertoire racine du domaine. En d’autres termes, si l’URL de base d’un site est https://example.com, le fichier robots.txt sera disponible à l’adresse https://example.com/robots.txt.

Voici, par exemple, à quoi ressemble le fichier robots.txt de Bright Data :

User-agent : *

Disallow: /lum/

Disallow: /www/*.html

Disallow: /use-cases/fintech

Disallow: /products/datasets2/

Interdire : /events/*

Interdire : /wp-stage/*

Interdire : /www/*

Interdire : /svc/*

Hôte : brightdata.com

Plan du site : https://brightdata.com/sitemap_index.xml

Comme vous pouvez le constater, il s’agit simplement d’un fichier texte contenant un ensemble de règles et de directives destinées aux robots web.

Gardez à l’esprit que les directives telles que User-agent et Disallow ne sont pas sensibles à la casse. En revanche, les valeurs sont sensibles à la casse. Ainsi, /lum/ n’est pas identique à /Lum/.

Pourquoi est-ce important pour le Scraping web ?

Les robots auxquels le fichier robots.txt fournit des instructions ne sont pas seulement des robots d’indexation des moteurs de recherche. Cela concerne également tous les logiciels automatisés qui interagissent avec un site, y compris les Scrapers web. En fin de compte, les programmes de Scraping ne sont rien d’autre que des robots automatisés. De plus, ils effectuent généralement un crawling web comme les robots des moteurs de recherche. Pour en savoir plus , consultez notre guide comparatif sur le crawling web et le Scraping web.

Lors du scraping d’un site, il est donc essentiel de respecter le fichier robots.txt du site cible. Cela implique :

  • Conformité légale: les Scrapers web doivent respecter les règles définies par les propriétaires de sites, pour une approche éthique du Scraping web.
  • Réduction de la charge du serveur: les robots d’indexation et les Scrapers sont gourmands en ressources, et le respect des directives permet d’éviter la surcharge d’un site.
  • Éviter de déclencher des mesures anti-robots: de nombreux sites surveillent le trafic web entrant afin de bloquer les robots non autorisés qui ne respectent pas les règles déclarées.

La question est maintenant de savoir ce qui se passe si votre script de scraping ne respecte pas le fichier robots.txt. Découvrons-le dans la section ci-dessous !

Conséquences du non-respect du fichier robots.txt lors du scraping d’un site

Les sites réagissent de manière très différente aux violations de leur fichier robots.txt. Parfois, il ne se passe rien. D’autres fois, vous pouvez être confronté à de graves conséquences. En général, voici les scénarios que vous devez prendre en considération lorsque vous ignorez le fichier robots.txt lors du Scraping web :

  • Blocages et perturbations des opérations: les technologies anti-scraping et anti-bot sont susceptibles de bannir temporairement ou définitivement votre adresse IP. Cela compromet l’efficacité d’un processus de scraping.
  • Actions en justice: si vous ne vous conformez pas, des poursuites judiciaires peuvent être engagées. Cela est possible si l’empreinte laissée par le script de scraping peut révéler votre identité. Protégez votre vie privée avec un Proxy de Scraping web
  • Surveillance accrue : les professionnels de la sécurité web, les FAI et les organismes de cybersécurité peuvent commencer à enquêter sur vos activités de scraping.

Ce ne sont là que quelques exemples, mais ils suffisent à comprendre l’importance de la question. Pour respecter le fichier robots.txt, vous devez d’abord comprendre la signification de ses instructions. Il est temps de se pencher sur la question !

Directives robots.txt courantes que vous devez connaître pour le Scraping web

La spécification REP ne concerne que quelques directives qu’un fichier robots.txt peut spécifier. Au fil du temps, les spécifications des moteurs de recherche ont introduit d’autres règles possibles. Celles-ci représentent une norme de facto et doivent également être prises en compte.

Examinons maintenant les directives robots.txt les plus pertinentes pour le Scraping web.

User-agent

User-Agent spécifie quels agents utilisateurs sont autorisés à explorer le site. Un agent utilisateur peut être un robot d’indexation, un spider, un Scraper ou tout autre bot. En général, les administrateurs de sites web utilisent cette directive pour limiter ou donner des instructions aux robots d’indexation de certains moteurs de recherche.

La syntaxe de la directive est la suivante :

User-agent : <nom_de_l'agent_utilisateur>

Disallow : [valeur]

Si <user_agent_name> est *, cela signifie que tous les robots sont autorisés à interagir avec le site. L’instruction Disallow doit contenir des chemins relatifs et restreindre l’accès à ces parties spécifiques du site.

Les chaînes d’agent utilisateur courantes sont les suivantes :

Moteur de recherche Nom de l’agent utilisateur
Baidu baiduspider
Bing bingbot
Google Googlebot
Yahoo! slurp
Yandex yandex

Considérez l’exemple ci-dessous :

User-agent : *

Disallow: /private/

Le fichier robots.txt ci-dessus interdit à tous les agents utilisateurs de visiter les pages situées sous le chemin /private/. Ainsi, /private/admin-login.php est interdit, mais aussi /private/platform/dashboard.php. Cela signifie que les fichiers situés dans les sous-dossiers sont également concernés par la règle Disallow.

Notez que le même agent utilisateur peut avoir plusieurs règles Disallow :

User-agent : *

Disallow : /private/

Disallow : /admin/

Cette fois, les chemins /private/ et /admin/ sont tous deux interdits.

Lorsque Disallow n’a pas de valeur, toutes les pages sont autorisées :

Agent utilisateur : *

Disallow :

Si elle contient plutôt la valeur /, cela signifie que toutes les pages sont interdites :

User-agent : *

Disallow : /

La norme officielle pour le fichier robots.txt ne mentionne pas les expressions régulières ou les caractères génériques pour Disallow, mais tous les principaux moteurs de recherche les acceptent. Il est donc assez courant de voir quelque chose comme ceci :

Disallow : /*.php

Disallow: /resources/*.pdf

Cela empêche vos robots d’accéder aux fichiers PDF sous /resources/ et aux fichiers PHP.

Une instruction non standard opposée à Disallow est Allow, qui spécifie les seuls chemins autorisés. Regardez l’exemple suivant :

User-agent: *

Allow : /

Cela correspond à :

User-agent : *

Disallow :

Allow peut remplacer certaines routes bloquées par Disallow :

User-agent : *

Disallow : /private/

Autoriser : /private/terms-and-conditions.php

Dans cet exemple de fichier robots.txt, toutes les pages sous /private/ sont interdites, à l’exception de /private/terms-and-conditions.php.

Gardez à l’esprit que le même fichier robots.txt peut contenir plusieurs directives User-agent pour cibler différents robots web :

User-agent : Googlebot

Interdire :

User-agent : bingbot

Disallow : /blog/

Sitemap

Sitemap est une directive non standard qui contient l’emplacement du plan du site XML d’un site web :

Plan du site : https://www.example.com/sitemap.xml

Cette règle informe les robots de l’emplacement du plan du site XML, qui fournit des informations utiles sur la structure du site. Suivre les URL contenues dans un plan du site facilite le scraping de l’ensemble du site. Découvrez notre outil de scraping de plan de site!

Notez que l’URL pointant vers le fichier sitemap doit être absolue.

Comme un site peut avoir plusieurs plans, le fichier robots.txt peut inclure plusieurs directives Sitemap :

Sitemap : https://www.example.com/sitemaps/page-sitemap.xml

Plan du site : https://www.example.com/sitemaps/post-sitemap.xml

Sitemap : https://www.example.com/sitemaps/author-sitemap.xml

Crawl-delay

La directive Crawl-Delay, non officielle et peu répandue, définit le nombre de secondes que les robots d’exploration doivent attendre entre deux requêtes successives sur le site :

User-agent : *

Crawl-delay : 5

Il s’agit d’une directive spécifique à l’agent utilisateur dont l’objectif est d’éviter la surcharge des serveurs. Dans cet exemple, tous les agents utilisateurs sont invités à attendre 5 secondes entre chaque visite de page.

Taux de requêtes

La directive Request-Rate, rare, spécifique à l’agent utilisateur et non standard, spécifie le nombre maximal de requêtes qu’un agent utilisateur peut envoyer au site dans un délai donné :

Agent utilisateur : *

Taux de requêtes : 1/10

Par exemple, cette règle demande à tous les agents utilisateurs de limiter leurs requêtes à une toutes les 10 secondes.

Le format des valeurs de taux de requêtes est le suivant :

<nombre_de_requêtes>/<secondes>

Cette directive est similaire à Crawl-Delay, dans la mesure où les deux contribuent à éviter la surcharge du serveur. La principale différence réside dans le fait que Crawl-delay y parvient en imposant un délai, tandis que Request-rate applique des restrictions de limitation du débit.

Comment utiliser robots.txt dans un processus de Scraping web

Vous savez désormais ce qu’est le fichier robots.txt et comment il fonctionne. Il ne reste plus qu’à voir comment intégrer son utilisation dans un processus de Scraping web. Voici ce que vous devez faire pour respecter le fichier robots.txt dans le cadre du Scraping web :

  1. Accédez au fichierrobots.txt du site cible:
    • Envoyez une requête HTTP GET vers le chemin /robots.txt pour télécharger le fichier ou l’ouvrir dans le navigateur.
  2. Examinez son contenu:
    • Lisez les directives contenues dans le fichier robots.txt.
    • Vérifiez s’il existe des règles Disallow qui restreignent l’accès à des URL ou des répertoires spécifiques.
    • Recherchez les règles Allow qui peuvent autoriser l’accès à certaines zones dans les chemins interdits.
    • Examinez les directives Crawl-delay et Request-rate, si elles sont spécifiées.
  3. Créez votre script de scraping:
    • Créez ou modifiez votre Scraper en vous assurant qu’il respecte les règles définies dans le fichier robots.txt.
    • Évitez d’accéder aux URL interdites pour votre agent utilisateur.
    • Implémentez des mécanismes de limitation dans votre Scraper afin de respecter les limites Crawl-delay ou Request-rate.

Comme vous pouvez le constater, vous devez analyser les directives contenues dans le fichier robots.txt avant de créer votre Scraper. C’est la seule façon d’éviter les conséquences mentionnées précédemment.

Et voilà ! Vous êtes désormais un expert en Scraping web robots.txt !

Conclusion

Dans cet article, vous avez découvert ce qu’est le fichier robots.txt, pourquoi les sites l’utilisent et comment il peut aider votre Scraper à éviter d’être bloqué. Vous avez analysé en détail ses directives qui peuvent affecter vos objectifs de récupération de données en ligne. Vous avez également appris à structurer un processus de scraping éthique autour de ce fichier.

Malheureusement, même si votre script est conforme à robots.txt, les solutions anti-scraping peuvent toujours vous bloquer. Comment éviter cela ? Avec un Proxy. Il existe plusieurs fournisseurs en ligne, et les essayer tous prendrait des mois. Heureusement, nous avons résolu ce problème pour vous.

Bright Data contrôle les meilleurs serveurs Proxy, desservant plus de 20 000 clients et des entreprises du Fortune 500. Son réseau mondial de Proxy exceptionnel comprend :

Dans l’ensemble, il s’agit de l’une des infrastructures de proxys orientées scraping les plus importantes et les plus fiables du marché. Discutez avec l’un de nos commerciaux et découvrez quels produits Bright Data répondent le mieux à vos besoins.