Daten von Webseiten holen mit Agenten
Ein einfacher HTTP-Abruf sieht bei vielen modernen Webseiten nur eine leere Hülle – JS-Rendering, Rate-Limits und robots.txt gehören zum Werkzeugkasten dazu.
Das JS-SPA-Problem
Viele moderne Webseiten sind Single-Page-Apps: Der erste HTTP-Abruf liefert nur ein fast leeres HTML-Gerüst, der eigentliche Inhalt wird danach per JavaScript im Browser nachgeladen. Ein einfacher curl-Aufruf oder ein simples Fetch-Tool sieht dann nur die leere Hülle – nicht den Text, den ein Mensch im Browser sieht.
Fetch-Tools und Rendering
Ein Fetch-Tool wie WebFetch holt die Rohantwort eines Servers und wandelt sie bei HTML in Markdown um – das reicht für klassische, serverseitig gerenderte Seiten. Bei JS-lastigen Seiten braucht es stattdessen einen Rendering-Dienst oder einen echten (Headless-)Browser, der die Seite erst ausführt und dann den fertigen, gerenderten Inhalt liefert.
Rechtliches kurz
Eine robots.txt-Datei im Wurzelverzeichnis einer Website legt fest, welche Bereiche automatisierte Abrufe crawlen dürfen – sie zu respektieren ist Grundkonsens im Web, auch wenn sie technisch nicht erzwungen wird. Dazu kommen die Nutzungsbedingungen (ToS) der jeweiligen Seite, die Scraping teilweise explizit einschränken.
Rate-Limits einhalten
Server antworten bei zu vielen Anfragen in kurzer Zeit oft mit Status 429 („Too Many Requests"). Ein Agent, der das ignoriert und einfach weiter anfragt, kann eine Seite überlasten oder gesperrt werden – Pausen und moderates Anfrage-Tempo gehören zum sauberen Abruf dazu.
BEISPIEL
Prompt: „Ruf https://example.com/produkte ab und liste alle Produktnamen mit Preis. Falls die Seite clientseitig gerendert wird und kein Inhalt sichtbar ist, sag das explizit, statt eine leere Liste zurückzugeben."
KURZ-QUIZ
Warum liefert ein einfacher HTTP-Abruf (z. B. curl) bei vielen modernen Webseiten kaum Inhalt?
QUELLEN
- Claude Code Doku: Tools Reference (WebFetch tool behavior) ↗ code.claude.com
- MDN: robots.txt (Glossar) ↗ developer.mozilla.org
- MDN: HTTP Status 429 Too Many Requests ↗ developer.mozilla.org