HTML Cleaner
Le node HTML Cleaner supprime les balises et attributs HTML indésirables d'un contenu brut pour produire une version allégée et assainie, prête à être traitée.
À quoi sert le node HTML Cleaner ?
Le node HTML Cleaner prend du HTML brut en entrée et supprime les balises structurelles ou techniques dont vous n’avez pas besoin, comme <script>, <style>, <meta>, <header>, <footer>, <nav>, <iframe>, <img>, <svg> ou <video>. Il peut également retirer tous les attributs HTML (classes, ids, styles inline, attributs data) pour réduire drastiquement le bruit. La sortie peut être renvoyée en texte brut ou en HTML allégé.
Il se place typiquement juste après un Web Scraper ou tout node renvoyant du HTML brut, avant d’envoyer le contenu vers un LLM, un convertisseur HTML to Markdown ou une base de données.
Cas d’usage typiques :
- Nettoyer une page web scrapée avant de l’envoyer à un LLM, pour réduire le nombre de tokens et supprimer publicités, menus de navigation et scripts tiers.
- Préparer du HTML pour une conversion en Markdown en supprimant les balises qui pollueraient ou casseraient la conversion.
- Assainir du HTML provenant d’un utilisateur ou d’un tiers avant de le stocker ou de l’afficher ailleurs.
Configuration rapide
Suivez ces étapes pour ajouter et configurer le node HTML Cleaner dans votre workflow :
Ajouter le node au canevas
Ouvrez la bibliothèque de nodes (Node Library), naviguez dans Tools > Data Transformation, puis glissez-déposez le node HTML Cleaner sur votre espace de travail.
Connecter l’entrée
Reliez le point d’entrée (à gauche du node) à la sortie du node précédent qui fournit le HTML brut (typiquement un Web Scraper, une HTTP Request ou un Input texte contenant du HTML).
Choisir ce que vous voulez supprimer
Ouvrez les paramètres du node. Activez les balises à retirer (tous les interrupteurs sont activés par défaut) et décidez si les attributs doivent également être supprimés.
Choisir le format de sortie
Dans la liste déroulante Output, sélectionnez Text pour obtenir uniquement du texte brut, ou HTML pour conserver la structure HTML restante.
Connecter la sortie
Reliez la sortie (à droite du node) au node suivant et créez-y un nom de variable pour récupérer le contenu nettoyé.
Paramètres de configuration
Configurer ce node consiste essentiellement à choisir quels éléments HTML retirer et sous quel format vous voulez le résultat.
Champs requis
Name string required default: HTML Cleaner Nom du node — Permet d’identifier ce node dans le workflow (ex : « Nettoyage article scrapé ») pour faciliter le débogage quand vous avez plusieurs cleaners successifs.
Description string required default: Clean HTML content by removing unwanted tags Description du node — Une courte phrase décrivant ce que cette instance de cleaner est censée faire.
HTML string required Entrée HTML — La chaîne HTML brute à nettoyer. Le node vérifie que l’entrée commence par < et finit par >, sinon il lève l’erreur HtmlTextExtractorTool : Input is not valid HTML.
Champs optionnels
Remove <script> boolean default: true Supprime toutes les balises <script> et leur contenu (JS inline, pixels de tracking, loaders tiers).
Remove <meta> boolean default: true Supprime les balises <meta> (charset, viewport, OpenGraph, descriptions SEO).
Remove <link> boolean default: true Supprime les balises <link> (feuilles de style, favicons, preloads).
Remove <style> boolean default: true Supprime les blocs <style> et leurs règles CSS.
Remove <no_script> boolean default: true Supprime les blocs <noscript> (contenu de repli affiché quand JavaScript est désactivé).
Remove <head> boolean default: true Supprime l’intégralité de la section <head> du document.
Remove <img> <svg> boolean default: true Supprime tous les éléments <img> et <svg>. Utile quand vous ne voulez pas de bruit lié aux images dans votre sortie texte.
Remove <video> boolean default: true Supprime les balises <video> et leurs sources.
Remove <iframe> boolean default: true Supprime les balises <iframe> (contenu intégré, widgets tiers, players vidéo).
Remove <header> boolean default: true Supprime le bloc <header> de la page (logo, navigation supérieure).
Remove <nav> boolean default: true Supprime les blocs <nav> (menus, fils d’Ariane).
Remove <footer> boolean default: true Supprime le bloc <footer> de la page (mentions légales, contact, liens secondaires).
Remove attributes boolean default: true Retire tous les attributs HTML (class, id, style, data-*, onclick, etc.) des balises restantes. Réduit fortement le nombre de tokens lors de l’envoi à un LLM.
Output enum default: Text Format du contenu nettoyé :
- Text — renvoie uniquement le contenu textuel (balises retirées).
- HTML — renvoie la chaîne HTML nettoyée avec les balises restantes conservées.
Laissez tous les interrupteurs activés par défaut. Désactivez-en un uniquement quand vous avez spécifiquement besoin de cette balise plus loin dans le workflow (par exemple, gardez <img> si vous prévoyez d’extraire des URLs d’images à l’étape suivante).
Que renvoie le node ?
Le node renvoie une seule chaîne contenant le contenu nettoyé. Sa forme dépend du paramètre Output sélectionné.
Output string Le contenu nettoyé. Avec Text, uniquement le texte visible, toutes les balises retirées. Avec HTML, le HTML restant après suppression des balises et attributs sélectionnés.
Comment récupérer l’output ?
Dans Draft & Goal, vous n’avez pas besoin de chercher un nom de variable complexe généré par le système. Pour exploiter le résultat :
- Tirez un lien depuis la sortie du node HTML Cleaner.
- Connectez-le à l’entrée du node suivant.
- Dans ce node suivant, créez et nommez votre propre variable (par exemple,
cleaned_htmloutexte_article). Le contenu nettoyé y sera injecté automatiquement.
Exemples d’utilisation
Cas 1 : Nettoyer un article scrapé avant de l’envoyer à un LLM
Vous scrapez un article de blog et voulez que le LLM le résume sans payer de tokens pour la navigation, les pubs et le bruit CSS.
Configuration :
- Tous les interrupteurs
Remove <...>: activés Remove attributes: activéOutput:Text
Pattern : Web Scraper → HTML Cleaner → LLM (résumé). La consommation de tokens de l’étape LLM diminue typiquement de 50 % à 90 % comparée à l’envoi de la page brute.
Cas 2 : Conserver une structure HTML propre pour la conversion en Markdown
Vous voulez convertir le corps de l’article en Markdown tout en gardant les paragraphes, titres et liens.
Configuration :
Remove <script>,Remove <style>,Remove <meta>,Remove <link>,Remove <head>,Remove <header>,Remove <nav>,Remove <footer>,Remove <iframe>,Remove <video>,Remove <no_script>: activésRemove <img> <svg>: désactivé (vous voulez les références d’images dans le Markdown)Remove attributes: activéOutput:HTML
La sortie conserve les <h1>, <h2>, <p>, <a>, <img>, <ul>, etc., mais retire les classes et styles inline, ce qui est l’entrée idéale pour le node HTML to Markdown.
Problèmes courants
Le node échoue avec `HtmlTextExtractorTool : Input is not valid HTML`
Cause : La chaîne d’entrée ne commence pas par < ou ne finit pas par >. Le node fait un contrôle strict avant de s’exécuter.
Solution : Vérifiez que le node amont renvoie bien du HTML. S’il renvoie du JSON ou enveloppe le HTML entre guillemets ou espaces, ajoutez un Find and Replace ou une étape d’extraction au préalable. Les espaces de début et de fin sont déjà tronqués par le node, mais tout autre contenu autour du HTML provoquera une erreur.
La sortie est vide ou quasi vide
Cause : Trop d’interrupteurs sont activés et le contenu utile se trouvait dans l’un des blocs supprimés (souvent <header> sur les sites éditoriaux qui y placent les titres).
Solution : Désactivez Remove <header> (ou toute autre balise dont vous avez réellement besoin du contenu) et relancez. Inspectez une fois le HTML brut avec les interrupteurs désactivés pour identifier la structure.
La sortie contient encore du texte qui ressemble à du JavaScript
Cause : Le contenu du script n’est pas encapsulé dans une balise <script> — par exemple, le JSON-LD à l’intérieur de <script type="application/ld+json"> est bien retiré, mais du texte injecté dans un <div> ne le sera pas.
Solution : Combinez le HTML Cleaner avec un node Find and Replace plus loin pour retirer les motifs résiduels, ou faites un pré-traitement avec un scraper plus sélectif.
Bonnes pratiques et pièges à éviter
Quand l’étape suivante est un LLM, activez toujours Remove attributes. Les classes CSS et attributs data-* consomment une quantité étonnante de tokens pour zéro valeur sémantique.
Ne supprimez pas aveuglément <header> et <nav> sur les sites de documentation ou les wikis : ils contiennent parfois le titre de l’article ou la table des matières que vous voulez justement garder.
Choisissez Output: Text quand la destination est un LLM qui n’a besoin que de lire le contenu. Choisissez Output: HTML quand la destination a besoin de la structure (titres, liens, listes), typiquement avant une étape HTML to Markdown.
graph LR
Scraper[Web Scraper] --> Cleaner[HTML Cleaner]
Cleaner --> Markdown[HTML to Markdown]
Markdown --> LLM[LLM résumé]
Cleaner -.mode text.-> LLM
Nodes complémentaires
Le node amont le plus courant : scrapez une page, puis envoyez le HTML brut dans HTML Cleaner.
Placez ce node juste après HTML Cleaner (en mode HTML) pour obtenir un Markdown propre prêt pour les LLMs.
Utilisez-le pour retirer les motifs résiduels que HTML Cleaner laisse passer (textes de bandeaux cookies, phrases répétées).
Le consommateur typique en aval du contenu nettoyé pour résumer, extraire ou réécrire.