Wie dieses Werkzeug entstanden ist — und wie Sie dasselbe für jede andere Website machen. Ohne Programmierkenntnisse. Sie brauchen nur einen Browser und eine KI wie GitHub Copilot CLI, Claude Code, ChatGPT Codex oder Cursor. Welche davon, ist gleichgültig — das Verfahren unten hängt an keinem bestimmten Werkzeug.
Fast jede moderne Website ist beim Laden leer. Erst danach holt sie ihre Inhalte über versteckte Datenadressen nach — Termine, Preise, Artikel, Programmpunkte.
Wenn man diese Adressen kennt, holt man sich die Daten direkt ab: vollständig, sauber strukturiert und in Sekunden, statt sie mühsam von der Bildschirmanzeige abzukratzen.
Diese Adressen zu finden ist keine Zauberei — die Website verrät sie selbst. Man muss nur wissen, wo man hinschaut.
Bild dazu: Die Website ist ein Kellner, der Ihnen das Essen an den Tisch bringt. Reverse Engineering heißt: herausfinden, wo die Küche ist — und dort direkt bestellen.
Kurz gesagt: Öffentliche Daten lesen ist in Ordnung. Alles andere nicht.
Diese drei Fragen ehrlich beantworten, bevor Sie anfangen:
1. Ist der Inhalt ohne Anmeldung sichtbar? Wenn Sie die Seite im privaten Browserfenster ohne Login sehen, ist der Inhalt öffentlich. Alles hinter einem Login ist tabu — auch wenn Sie einen Zugang haben. Ein Login zu umgehen ist eine andere Kategorie und hier nicht gemeint.
2. Belasten Sie den Server spürbar? Ein paar Anfragen für die eigene Vorbereitung sind wie ein normaler Seitenbesuch. Tausende Anfragen im Minutentakt sind es nicht. Bauen Sie kleine Pausen ein und holen Sie Daten nur, wenn Sie sie brauchen.
3. Was machen Sie mit den Daten? Für die eigene Arbeit auswerten: unproblematisch. Personenbezogene Daten sammeln, weiterverkaufen oder ein Konkurrenzangebot daraus bauen: lassen Sie das, oder fragen Sie vorher jemanden mit juristischem Sachverstand.
Zusätzlich: Viele Seiten haben eine Datei beispiel.de/robots.txt mit Hinweisen dazu,
was automatisierte Zugriffe tun sollen. Ein Blick dorthin kostet nichts. Und wenn es
eine offizielle Programmschnittstelle („API“) gibt — nehmen Sie die.
Genau so ist pag-extract entstanden.
Öffnen Sie die Seite. Rechtsklick → „Seitenquelltext anzeigen“.
- Sehen Sie dort die Inhalte, die Sie im Browser sehen (Titel, Termine, Texte)? → Die Seite liefert alles fertig aus. Der Weg unten ist trotzdem oft möglich, aber es geht auch einfacher.
- Sehen Sie nur ein paar Zeilen mit
<div id="app">und<script src="...">? → Perfekt. Die Seite ist leer und holt ihre Daten nach. Weiter mit Schritt 2.
Bei unserer Kongressseite waren es 5 Kilobyte — kein einziger Programmpunkt darin. Das ganze Programm kam später über Datenadressen.
Das ist der entscheidende Trick, und er ist in jedem Browser eingebaut.
- Auf der Seite F12 drücken (Mac:
Cmd+Alt+I) - Oben den Reiter „Netzwerk“ / „Network“ wählen
- Den Filter auf „Fetch/XHR“ stellen — das blendet Bilder und Design aus
- Die Seite neu laden (F5)
Jetzt füllt sich eine Liste. Das sind die Bestellungen bei der Küche. Klicken Sie die Einträge an und schauen Sie in den Reiter „Antwort“ / „Response“: Wo strukturierte Daten auftauchen (viele geschweifte Klammern, Titel, Datumsangaben), haben Sie die richtige Adresse gefunden.
Bei uns waren es genau zwei interessante Adressen — eine mit den Kongresstagen, eine mit den Sessions je Raum.
Nicht auf Anhieb sichtbar? Klicken Sie auf der Seite herum: nächster Tag, anderer Filter, „mehr laden“. Jede Aktion löst neue Bestellungen aus, und genau die zeigen, wie man die Daten gezielt abfragt.
Rechtsklick auf einen interessanten Eintrag → „Kopieren“ → „als cURL kopieren“.
Was Sie damit in der Zwischenablage haben, ist der komplette Befehl, mit dem die Website ihre Daten holt — inklusive aller nötigen Kennungen. Sie müssen ihn nicht verstehen. Sie müssen ihn nur weitergeben.
Starten Sie Ihre KI im gewünschten Ordner und geben Sie ihr den Auftrag. Jedes agentische Werkzeug kann das — es muss nur Befehle im Terminal ausführen dürfen (Copilot CLI, Claude Code, Codex und Cursor können das alle). Fertiger Text zum Kopieren steht weiter unten.
Die KI kann ab hier selbst weiterarbeiten: sie ruft die Adressen auf, erkennt die Struktur der Daten, findet heraus wie man blättert und wie man nach Datum filtert, und schreibt ein kleines Programm, das alles zusammenholt.
Der wichtigste und meistübersprungene Schritt.
Vergleichen Sie das Ergebnis mit dem, was im Browser steht. Zählt die Website 54 Programmpunkte an einem Tag, und Ihr Ergebnis hat 54 — gut. Hat es 144 — dann fragen Sie nach, warum.
Bei uns war genau das der Fall. Die Erklärung: Die Website zählte die Industriesymposien
nicht mit, unsere Abfrage schon. Kein Fehler, sondern eine Einstellung — und daraus
wurde die Option --no-sponsor.
Sagen Sie Ihrer KI ausdrücklich:
Vergleiche die Anzahl mit dem, was die Website selbst anzeigt. Wenn die Zahlen abweichen, finde heraus warum — rate nicht.
Kopieren, die markierten Stellen ersetzen, in Copilot CLI / Claude Code / Codex / Cursor einfügen — der Text ist bewusst werkzeugneutral formuliert:
Ich möchte die öffentlichen Inhalte dieser Website programmatisch auslesen:
URL: <<HIER DIE ADRESSE EINFÜGEN>>
Was ich brauche: <<z. B. alle Termine mit Titel, Uhrzeit, Ort und Referent>>
Wichtig: Es geht ausschließlich um öffentliche Inhalte, die ohne Anmeldung
sichtbar sind. Nichts hinter einem Login.
Bitte arbeite in dieser Reihenfolge:
1. Hole die Seite und prüfe, ob die Inhalte direkt im HTML stehen oder ob die
Seite sie über Datenschnittstellen nachlädt.
2. Wenn nachgeladen wird: Finde die Schnittstellen. Sieh dir dafür die
JavaScript-Dateien der Seite an und suche nach Adressen, Basis-URLs und
Konfigurationswerten.
3. Prüfe jede gefundene Adresse mit curl von der Kommandozeile aus — ohne
Browser und ohne Cookies. Zeig mir echte Antworten, keine Vermutungen.
4. Finde heraus, ob es einen Endpunkt gibt, der IDs oder Kennungen liefert,
damit nichts fest verdrahtet werden muss.
5. Erkläre mir die Datenstruktur: welche Felder gibt es, was bedeuten sie.
6. Schreib ein einzelnes, abhängigkeitsfreies Skript, das die Daten holt und
als Markdown, CSV und JSON ausgeben kann.
7. Prüfe zum Schluss, ob die Anzahl der Datensätze mit dem übereinstimmt, was
die Website selbst anzeigt. Bei Abweichung: finde die Ursache, rate nicht.
Wenn du bei Schritt 2 nicht weiterkommst, sag es mir — dann liefere ich dir
den Netzwerk-Mitschnitt aus den Entwicklertools nach.
Wenn Sie Schritt 3 der Anleitung schon gemacht haben, hängen Sie einfach an:
Hier ist der kopierte cURL-Befehl aus den Entwicklertools:
<<HIER EINFÜGEN>>
Damit überspringt die KI die halbe Suche.
Bevor Sie sich auf die Daten verlassen:
- Stimmen die Zahlen mit der Website überein? (siehe Schritt 5)
- Fehlt etwas am Rand? Erster und letzter Tag, erster und letzter Eintrag — dort verstecken sich Abschneidefehler.
- Wird geblättert? Viele Schnittstellen liefern nur 20 oder 100 Einträge auf einmal. Wenn Ihr Ergebnis genau 20 oder genau 100 Einträge hat, ist das ein Warnzeichen: es fehlt vermutlich der Rest.
- Stichprobe: Suchen Sie sich drei Einträge im Browser und prüfen Sie sie in Ihrer Datei nach.
| Situation | Was zu tun ist |
|---|---|
| Im Netzwerk-Reiter erscheint nichts | Die Seite liefert alles fertig aus. Sagen Sie der KI: „Die Inhalte stehen direkt im HTML, bitte lies sie von dort.“ |
Antwort 401 oder 403 |
Es fehlt eine Kennung. Der kopierte cURL-Befehl aus Schritt 3 enthält sie — geben Sie ihn der KI. |
Antwort 429 |
Zu viele Anfragen zu schnell. Pausen einbauen, langsamer abfragen. |
| Es erscheint eine Sicherheitsabfrage / Captcha | Die Seite möchte ausdrücklich keinen automatisierten Zugriff. Hier ist Schluss — respektieren Sie das. |
| Die Daten sind unverständlich verschlüsselt | Aufwand und Nutzen abwägen. Meist gibt es einen leichteren Weg — oder eine offizielle Schnittstelle. |
Was hier am Kongressprogramm gezeigt wurde, funktioniert genauso bei Veranstaltungskalendern, Stellenbörsen, Fahrplänen, Produktkatalogen, Vereinsseiten oder Behördenportalen. Die Technik dahinter ist fast überall dieselbe.
Der eigentliche Trick ist nicht technisch. Er besteht darin, die richtige Frage zu stellen: nicht „wie kopiere ich diese Seite ab?“, sondern „woher holt diese Seite eigentlich ihre Daten?“
Der Rest ist Fleißarbeit — und die kann die KI übernehmen.