# Portabilität: UNIVERSAL
# Version: 1.0.0
# Zuletzt validiert: 2026-03-04

HANDLER-NAME
===
web_parse

BESCHREIBUNG
===
Lädt Webseiten herunter und konvertiert HTML zu Markdown. Unterstützt
optionale Bereinigung (Entfernung von Navigation, Header, Footer, Aside).
Implementiert Caching mit MD5-Hash-basiertem Dateinamen.

OPERATIONEN
===
url <url>
  URL laden, vollständigen HTML-zu-Markdown-Inhalt ausgeben.
  Cache wird automatisch überprüft und aktualisiert.

clean <url>
  URL laden und nur Hauptinhalt parsen (Navigation, Header, Footer, Aside
  entfernt). Links werden nicht geparsed bei clean-Modus.

cache list
  Alle gecachten Dateien anzeigen. Gibt Dateinamen, Größe (KB), URL und
  Zeitstempel aus.

cache clear
  Cache-Verzeichnis leeren (Abfrage: Alle .md-Dateien in data/cache/web
  werden gelöscht).

BEISPIELE
===
bach web-parse url https://example.com
  Vollständigen Inhalt von example.com als Markdown ausgeben.

bach web-parse clean https://example.com/article
  Nur Artikel-Hauptinhalt ohne Nav/Header/Footer als Markdown.

bach web-parse cache list
  Gecachte Seiten anzeigen mit Größen.

bach web-parse cache clear
  Gesamten Cache löschen.

DATEIEN
===
data/cache/web/
  Cache-Verzeichnis. MD5-Hash des URL (12 Zeichen) + Suffix "_clean"
  falls clean-Modus + .md-Extension.
  Beispiel: abc1234def56_clean.md

hub/web_parse.py
  Handler-Implementierung. BaseHandler-Subklasse, HTTP-Request mit
  requests, HTML-zu-Markdown mit html2text oder Fallback-Regex.

SIEHE AUCH
===
Abhängigkeiten: requests (pip install requests), html2text (optional).
Fallback-Konvertierung mit Regex wenn html2text nicht installiert.
User-Agent wird gesetzt (BACH WebParse/1.0).
Timeout: 20 Sekunden pro Request.
HTML-Entities werden dekodiert (&amp;, &lt;, &gt;, &quot;, &nbsp;).
Cache-Dateien enthalten Metakommentar mit URL, Zeitstempel, Modus.
