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

WEB_SCRAPE HANDLER
==================

HANDLER-NAME
============

web-scrape (WebScrapeHandler)

Ersatz für Playwright MCP. Bietet Browser-Steuerung über HTTP-Requests und
Regex-basierte Datenextraktion. Optional: Selenium für Screenshots.


BESCHREIBUNG
============

Der web_scrape Handler ermöglicht Web-Scraping, HTML-Analyse und
Screenshot-Erfassung. Arbeitet über das BACH-CLI mit robusten
Fehlerbehandlungen. Speichert Screenshots im Cache-Verzeichnis.

Abhängigkeiten:
  - requests (Pflicht, HTTP-Requests)
  - selenium (Optional, Screenshots)
  - Chrome/Chromium (Optional, Screenshot-WebDriver)


OPERATIONEN
===========

get <url>
  HTTP GET: Laden und Anzeigen des vollständigen HTML-Body.
  Truncates bei >5000 Zeichen. Zeigt Status, Content-Type, Größe.

links <url>
  Link-Extraktion: Alle <a href> mit Linktext. Bereinigt HTML-Tags,
  ignoriert javascript:, mailto:, Anker (#). Max. 50 Links. Dedupliziert.

forms <url>
  Formular-Erkennung: <form> mit action/method, alle <input>, <textarea>,
  <select>. Zeigt Feldtypen (text, submit, etc.) und Namen.

screenshot <url>
  Screenshot mit Selenium (headless, 1280x1024). Speichert in
  data/cache/scrape/ mit Hash-basiertem Dateinamen. Braucht Chrome-Driver.

headers <url>
  Response-Header anzeigen: Alle HTTP-Header der Antwort + Status-Code.


BEISPIELE
=========

bach web-scrape get https://example.com
  Inhalt von example.com abrufen

bach web-scrape links https://github.com/lukisch
  Alle Links auf GitHub-Profil auflisten

bach web-scrape forms https://example.com/login
  Formulare auf Login-Seite analysieren

bach web-scrape screenshot https://example.com
  PNG-Screenshot erstellen (braucht selenium)

bach web-scrape headers https://example.com
  HTTP-Header prüfen (User-Agent, Cookies, etc.)


DATEIEN
=======

hub/web_scrape.py         Handler-Implementierung
data/cache/scrape/        Screenshot-Ausgabe


SIEHE AUCH
==========

hub/base.py              BaseHandler-Klasse
