HTML vers Texte
Utilisez cette compétence lorsque vous avez du HTML – une page récupérée, un corps de newsletter, le contenu d'un flux – et que vous voulez un texte brut propre et lisible sans ajouter beautifulsoup4 ou lxml. Une petite sous-classe de HTMLParser supprime les blocs <script>/<style>, convertit les éléments de bloc en nouvelles lignes et réduit les espaces, ce qui est exactement ce qu'il vous faut avant d'envoyer du contenu à un LLM (moins de tokens) ou dans un index de recherche.
Quand l'utiliser
- L'utilisateur dit : "extrais le texte de ce HTML", "nettoie cette page récupérée", "supprime les balises avant de résumer", "convertit ce HTML d'email en texte".
- Du HTML va être fourni à un modèle ou à un résumé et le balisage n'est que du bruit.
Quand NE PAS l'utiliser
- Vous devez conserver la structure (tableaux, liens en Markdown) – utilisez un véritable convertisseur HTML vers Markdown.
- La page est rendue par JavaScript – récupérez-la d'abord avec un navigateur sans tête, puis convertissez.
Exemple concret
Entrée utilisateur :
Transforme le HTML de cet article en texte brut pour que je puisse le résumer avec moins de tokens.
Sortie :
# Copiez assets/htmltext.py dans votre projet, puis :
from htmltext import html_to_text
text = html_to_text(article_html)
summary = call_llm(f"Résume :\n{text}")
Les blocs <script> et <style> sont entièrement supprimés, les balises bloc deviennent des sauts de ligne, et les suites d'espaces/lignes vides sont réduites, de sorte que la sortie se lit comme de la prose.
Modèle à appliquer
- Sous-classez
html.parser.HTMLParseravecconvert_charrefs=Truepour que les entités soient décodées automatiquement. - Suivez une profondeur d'omission pour
script/style/headafin que leur texte ne fuie jamais dans la sortie. - Émettez des nouvelles lignes autour des balises bloc, puis réduisez les espaces intra-lignes et les suites de lignes vides.
- Restez pur (chaîne en entrée, chaîne en sortie) pour que le test unitaire soit trivial.
Référence : assets/htmltext.py.
Source
Distillé depuis les pipelines de récupération et de synthèse de l'auteur. v1.0.0. Voir aussi : [[rss-feed-reader]], [[gemini-cost-tracker]], [[pipeline-orchestrator]].
→ Construisez le bot exécutable complet avec Trawlkit.