Communitygithub.com

HTML in Text

Entferne HTML-Tags und extrahiere sauberen, lesbaren Klartext – nur mit der Python-Standardbibliothek, ohne BeautifulSoup oder lxml.

Was ist HTML in Text?

Diese Fähigkeit ermöglicht es, HTML-Inhalte (z. B. gescrapte Seiten, Newsletter, Feed-Einträge) in sauberen, lesbaren Klartext umzuwandeln, ohne dass externe Bibliotheken wie BeautifulSoup oder lxml benötigt werden. Eine spezielle `HTMLParser`-Unterklasse entfernt `<script>`- und `<style>`-Blöcke, wandelt Blockelemente in Zeilenumbrüche um und reduziert überflüssige Leerzeichen – ideal, bevor der Inhalt an ein LLM (geringere Tokenzahl) oder in einen Suchindex weitergegeben wird. Die Fähigkeit ist plattformunabhängig und lässt sich mit einem einzigen Funktionsaufruf (`html_to_text`) nutzen. Sie ist eine reine String-Transformation, die sich leicht unit-testen lässt und sich perfekt für Agenten eignet, die strukturierte HTML-Daten in Text umwandeln müssen, ohne die Abhängigkeiten eines vollständigen Parsers in Kauf zu nehmen.

Funktioniert mit~Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/baronguyen001/ai-automation-skills/tree/HEAD/skills/html-to-text

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht HTML in Text?

Diese Fähigkeit verwenden, wenn Sie HTML haben – eine gescrapte Seite, einen Newsletter-Text, den Inhalt eines Feed-Eintrags – und einen sauberen, lesbaren Klartext wünschen, ohne beautifulsoup4 oder lxml installieren zu müssen. Eine kleine HTMLParser-Unterklasse entfernt <script>/<style>, wandelt Blockelemente in Zeilenumbrüche um und reduziert Leerzeichen – genau die richtige Form, bevor der Text an ein LLM (weniger Tokens) oder in einen Suchindex geht.

Wann aufrufen

  • Der Benutzer sagt: „Hole den Text aus diesem HTML“, „Bereinige diese gescrapte Seite“, „Entferne Tags vor der Zusammenfassung“, „Wandle diesen E-Mail-HTML in Text um“.
  • HTML soll an ein Modell oder einen Digest übergeben werden und das Markup ist nur Rauschen.

Wann NICHT aufrufen

  • Sie müssen die Struktur erhalten (Tabellen, Links als Markdown) – verwenden Sie dann einen echten HTML-zu-Markdown-Konverter.
  • Die Seite wird durch JavaScript gerendert – holen Sie sie zuerst mit einem Headless-Browser, dann konvertieren Sie sie.

Konkretes Beispiel

Benutzereingabe:

Wandle diesen Artikel-HTML in Klartext um, damit ich ihn mit weniger Tokens zusammenfassen kann.

Ausgabe:

# Kopieren Sie assets/htmltext.py in Ihr Projekt, dann:
from htmltext import html_to_text

text = html_to_text(article_html)
summary = call_llm(f"Zusammenfassen:\n{text}")

<script>- und <style>-Blöcke werden komplett entfernt, Block-Tags werden zu Zeilenumbrüchen, und mehrere Leerzeichen/Leerzeilen werden reduziert, sodass das Ergebnis wie Prosa lesbar ist.

Anzuwendendes Muster

  1. Erstellen Sie eine Unterklasse von html.parser.HTMLParser mit convert_charrefs=True, damit Entitäten automatisch dekodiert werden.
  2. Verfolgen Sie eine Skip-Tiefe für script/style/head, damit deren Text nie in die Ausgabe gelangt.
  3. Fügen Sie Zeilenumbrüche um Block-Tags hinzu, reduzieren Sie dann Leerraum innerhalb der Zeilen und mehrere Leerzeilen.
  4. Halten Sie es rein (String rein, String raus), damit es trivial unit-testbar ist.

Referenz: assets/htmltext.py.

Quelle

Abgeleitet aus den Scraping- und Digest-Pipelines des Autors. v1.0.0. Siehe auch: [[rss-feed-reader]], [[gemini-cost-tracker]], [[pipeline-orchestrator]].

→ Bauen Sie den vollständig ausführbaren Bot mit Trawlkit.

Individual skills in this repo

This repo contains 9 individual skills — each has its own dedicated page.

baronguyen001/ai-automation-skills

Schedule any script to run on a recurring schedule on Windows (Task Scheduler) or Linux (cron) - register, list, and remove jobs from one command, with logging to a file and a guard against overlapping runs. Use for schedule a script, run nightly, set up a cron job, windows task scheduler, or run on a timer.

baronguyen001/ai-automation-skills

Turn a run's list of result dicts into a schema'd CSV and a Markdown table from one column spec - declare columns once, emit both, with stable ordering and safe escaping, stdlib only, no pandas. Use when the user asks to write results to CSV, export a report, make a markdown summary table, or save a run's output as a spreadsheet.

baronguyen001/ai-automation-skills

Persist records between scheduled runs as append-only JSON Lines (one object per line) with streaming reads and optional key-based dedup, stdlib only. Use when the user wants to log run results to JSONL, append events to a file, dedup records by id across runs, or keep a simple durable history without a database.

baronguyen001/ai-automation-skills

Extract text and simple table-like rows from a PDF for downstream AI without OCR binaries. Use when the user asks to read a PDF, turn a PDF into text, pull simple tables from statements/reports, or feed PDF content into an LLM pipeline.

baronguyen001/ai-automation-skills

Rotate a pool of HTTP/SOCKS proxies with round-robin selection, failure tracking, and a cooldown that benches dead proxies before retrying. BYO proxy list via env - none are shipped. Use for rotate proxies, spread requests across proxies, avoid IP bans, retry through a different proxy, or proxy health check.

baronguyen001/ai-automation-skills

Parse an RSS 2.0 or Atom feed into normalized item dicts (title, link, id, published, summary) with the standard library only - no feedparser. Use when the user asks to read an RSS/Atom feed, poll a blog/news feed, extract feed entries, or watch a site that publishes a feed.

baronguyen001/ai-automation-skills

Upload and download run artifacts from S3-compatible storage with BYO bucket and credentials from env. Use when the user asks to store scraper output, archive reports, publish artifacts to object storage, fetch a prior run file, or use MinIO/R2/Spaces/S3 without hardcoding credentials.

baronguyen001/ai-automation-skills

Draft a short-form TikTok/Reels/Shorts or long-form video script from a topic and creator persona file - hook variants, beat-structured body, CTA, b-roll cues, caption overlays, and [STORY]/[NUMBER] slots so the model never fabricates personal facts. Use for write a video script, tiktok script, youtube script, or /shortform-script.

baronguyen001/ai-automation-skills

Give scheduled scripts memory between runs with one SQLite file - a seen-set for dedup, a key/value cursor to resume where you left off, and order-preserving new-item filtering. Use for dedup across runs, don't re-alert the same item, remember the last id, resume a scraper, or persist state between cron runs.

Verwandte Skills