Bonjour !
Dans la leçon précédente, nous avons rendu nos workflows de scraping plus "polis" en introduisant des pauses avec le nœud Wait pour respecter les limites de débit. C'est une étape essentielle pour ne pas être bloqué. Cependant, les serveurs web modernes sont plus malins que ça. Ils n'analysent pas seulement la fréquence de vos requêtes, mais aussi leur apparence.
L'objectif de cette leçon est d'apprendre à personnaliser les en-têtes HTTP (en particulier le User-Agent) pour imiter un navigateur réel. C'est la deuxième pièce maîtresse, après la limitation de débit, pour construire des scrapers robustes et discrets.
1. Qu'est-ce qu'un en-tête HTTP et pourquoi est-il si important ?
Chaque fois que votre navigateur (ou votre nœud n8n) demande une page web, il envoie une requête HTTP au serveur. Cette requête ne contient pas seulement l'URL désirée, mais aussi un ensemble de métadonnées appelées en-têtes (headers). Ces en-têtes fournissent au serveur un contexte essentiel sur la requête.
L'un des en-têtes les plus importants est le User-Agent. C'est une chaîne de texte qui identifie le client faisant la requête : quel navigateur, quelle version, sur quel système d'exploitation.
User-Agentd'un navigateur typique :Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36User-Agentpar défaut de n8n : Souvent quelque chose commen8n/1.x.x
De nombreux sites web sont configurés pour bloquer automatiquement les requêtes dont le User-Agent n'est pas celui d'un navigateur connu. Envoyer le User-Agent par défaut de n8n est donc un moyen presque certain de voir votre scraping échouer sur des sites un tant soit peu protégés.
Le User-Agent n'est pas le seul en-tête utile. Pour paraître encore plus légitime, on peut aussi personnaliser :
Accept-Language: Indique les langues que vous comprenez (ex:fr-FR,fr;q=0.9).Referer: L'URL de la page qui vous a mené à la page actuelle (simule une navigation).Accept: Les types de contenu que votre "navigateur" peut gérer.
Guide Le web scraping sans blocages
Pour bien comprendre le rôle de ces en-têtes dans le contexte du scraping, lisez la section suivante de ce guide par Bright Data. Elle explique très clairement l'importance du User-Agent et d'autres en-têtes pour éviter les blocages.
Lisez attentivement la section 4, intitulée "Utilisez les bons en-têtes et agents utilisateurs". Portez une attention particulière à la définition du User-Agent, du Referer, et des autres en-têtes mentionnés comme Accept-Language.
2. Configurer les en-têtes dans le nœud HTTP Request
Heureusement, n8n rend la personnalisation des en-têtes très simple dans le nœud HTTP Request.
- Ouvrez les paramètres de votre nœud
HTTP Request. - Juste en dessous des paramètres de base (URL, Méthode, etc.), vous trouverez une section "En-têtes" (Headers).
- Activez l'option "Envoyer les en-têtes" (Send Headers).

Vous avez deux manières principales d'ajouter des en-têtes :
- En utilisant "Ajouter un en-tête" : Pour ajouter des paires clé/valeur une par une. C'est simple et clair.
- En utilisant JSON : Très pratique pour copier-coller un bloc d'en-têtes complet. C'est la méthode que nous allons privilégier pour sa rapidité.
n8n Web Scraping: Complete Automation Guide
Cette très courte vidéo (en anglais) montre précisément comment ajouter un bloc d'en-têtes en utilisant l'option JSON. C'est une démonstration visuelle directe de ce que nous allons faire.
Regardez le segment de 00:05:42 à 00:06:09. L'intervenant montre comment activer "Send Headers", sélectionner "Using JSON" et coller un ensemble d'en-têtes. C'est exactement la manipulation que vous effectuerez.
3. Application pratique : rendons notre scraper plus humain
Maintenant, mettons cela en pratique. L'idée est de trouver un User-Agent réaliste et de l'intégrer à notre workflow.
Où trouver des User-Agent ?
Le plus simple est de copier celui de votre propre navigateur. Vous pouvez le trouver en cherchant "what is my user agent" sur Google, ou en utilisant les outils de développement de votre navigateur.
Voici un exemple typique que vous pouvez utiliser pour commencer :Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36
Guide de scraping Web N8N 2025
Cet article en français explique le processus de création d'un workflow de scraping et mentionne explicitement la configuration du User-Agent comme une étape clé pour minimiser la détection.
Lisez la section "Créer votre premier flux de travail de scraping N8N". Repérez le paragraphe qui commence par "Configurez le nœud de requête HTTP...". Notez l'instruction claire : "Dans la section « En-têtes », utilisez une valeur réaliste. User-Agent chaîne... pour minimiser la détection."
Mini-Exercice : Mettre à jour notre workflow
Reprenez le workflow de scraping que vous avez amélioré dans la leçon précédente (celui qui scrape les ordinateurs portables sur webscraper.io avec une boucle de pagination et un nœud Wait).
-
Ouvrez le nœud
HTTP Request. -
Activez "Envoyer les en-têtes" et sélectionnez "Using JSON" dans la liste déroulante "Entrée".
-
Dans le champ JSON, collez le bloc suivant. Il définit un
User-Agentet indique que nous préférons le contenu en français.{ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36", "Accept-Language": "fr-FR,fr;q=0.9,en-US;q=0.8,en;q=0.7" } -
Exécutez à nouveau votre workflow.
Bien que le résultat visible ne change pas pour ce site de test, vous avez fondamentalement changé la manière dont votre script se présente au serveur. C'est une compétence cruciale pour s'attaquer à des sites plus complexes.
Scrape ANY Website with One SIMPLE n8n Workflow
Pour une autre perspective et la confirmation de cette pratique, cette vidéo explique également l'intérêt de multiples en-têtes pour paraître plus légitime.
Regardez de 00:03:52 à 00:04:43. L'auteur explique que l'ajout d'en-têtes comme User-Agent, Accept, et Accept-Language est souvent suffisant pour "tromper" le site web et lui faire croire qu'il est visité par un navigateur normal.
Conclusion
Aujourd'hui, vous avez ajouté une autre corde essentielle à votre arc de "scrapeur". En combinant la limitation de débit (leçon précédente) avec la personnalisation des en-têtes (cette leçon), vos workflows de scraping sont devenus beaucoup plus robustes, discrets et professionnels.
Points clés à retenir :
- Les serveurs web utilisent les en-têtes HTTP, en particulier le
User-Agent, pour identifier et potentiellement bloquer les scripts automatisés. - Il est impératif de remplacer le
User-Agentpar défaut de n8n par celui d'un navigateur réel pour paraître légitime. - Le nœud
HTTP Requestde n8n permet de configurer facilement des en-têtes personnalisés via son interface, notamment en utilisant le format JSON. - L'ajout d'autres en-têtes comme
Accept-Languagerenforce encore l'illusion d'une requête de navigateur standard.
Dans la prochaine leçon, nous allons mettre en application tout ce que nous avons appris dans ce module. Vous construirez un workflow de bout en bout pour scraper des annonces de produits depuis une page e-commerce et structurer les résultats. Ce sera l'exercice de synthèse de ce module sur le web scraping.