KI-gestützte Datenextraktion und Web Scraping mit OpenClaw
Herkömmliche Web-Scraper sind zerbrechlich. Sie sind auf CSS-Selektoren und XPath-Muster angewiesen, die in dem Moment kaputt gehen, in dem eine Website ihr Layout neu gestaltet. Sie können sich nicht an dynamische Inhalte anpassen, die von JavaScript-Frameworks geladen werden. Sie schlagen stillschweigend fehl, wenn sie auf CAPTCHAs, Ratenbegrenzungen oder IP-Blockaden stoßen. Die Wartung einer Scraper-Flotte erfordert ständige Aufmerksamkeit, wenn sich die Zielstandorte ändern – ein Kostenaufwand, der oft den Wert der extrahierten Daten übersteigt.
Die Datenextraktionsagenten von OpenClaw sind unterschiedlich. Sie kombinieren Browserautomatisierung, visuelles Verständnis und LLM-basiertes Parsing, um Daten von Websites zu extrahieren, ohne auf spröde Selektoren angewiesen zu sein. Wenn eine Site ihr Layout ändert, passt sich der Agent an. Wenn es auf ein CAPTCHA stößt, eskaliert es und schlägt nicht stillschweigend fehl. Das Ergebnis ist eine Datenextraktionspipeline, die um Größenordnungen wartbarer ist als herkömmliche Scraper.
Wichtige Erkenntnisse
– Die Extraktionsagenten von OpenClaw nutzen die Browserautomatisierung (Playwright) für JavaScript-gerenderte Inhalte und schließen so die Lücke zwischen dem, was Benutzer sehen, und dem, worauf Scraper zugreifen können. – LLM-basiertes Parsing extrahiert strukturierte Daten aus unstrukturiertem HTML ohne CSS-Selektoren – der Agent versteht Inhalte semantisch, nicht positionell.
- Integrierte Proxy-Rotation, Anforderungs-Fingerabdruck-Randomisierung und Ratenbegrenzung ermöglichen Anti-Bot-Maßnahmen ohne zusätzliche Infrastruktur.
- Die Schema-First-Extraktion erzeugt eine typisierte, validierte Ausgabe – kein Umgang mehr mit teilweisen oder fehlerhaften Scraping-Daten im Nachhinein. – Der Extraktionsagent überwacht Standortänderungen und warnt, wenn sich die Datenstruktur oder Verfügbarkeit erheblich ändert.
- Ethische Scraping-Leitlinien sind integriert: robots.txt-Konformität, Einhaltung von Ratenlimits und Prüfpunkte für die Überprüfung der Nutzungsbedingungen. – Extrahierte Daten werden bereinigt, normalisiert und automatisch an Ihr Data Warehouse, Ihre API oder Ihre nachgelagerte Anwendung übermittelt.
- ECOSIRE erstellt und verwaltet benutzerdefinierte Datenextraktionspipelines für Marktinformationen, Wettbewerbsüberwachung und Forschungsanwendungen.
Architektur: Wie OpenClaw Daten extrahiert
Der Datenextraktionsstapel besteht aus vier Schichten:
Target URL(s)
↓
[ Browser Agent ] — navigation, rendering, interaction
↓
[ Parser Agent ] — LLM-based content extraction
↓
[ Validation Agent ] — schema validation, normalization
↓
[ Delivery Agent ] — destination write (warehouse, API, file)
Der Browser-Agent verarbeitet HTTP-Anfragen und JavaScript-Rendering. Der Parser-Agent extrahiert die Bedeutung aus gerendertem HTML. Der Validierungsagent erzwingt die Schemakonformität und normalisiert Werte. Der Delivery Agent schreibt die extrahierten Daten an das Zielziel.
Browser-Agent: Rendern, was Benutzer sehen
JavaScript-lastige Websites (SPAs, Infinite Scroll, modal-gated Content) können nicht mit einfachen HTTP-Anfragen gescrapt werden. Der Browser-Agent verwendet Playwright, um Seiten genau so zu rendern, wie es ein Browser tun würde, und stellt dann das vollständig gerenderte DOM dem Parser-Agenten zur Verfügung.
export const RenderPage = defineSkill({
name: "render-page",
tools: ["browser", "proxy"],
async run({ input, tools }) {
const proxyConfig = await tools.proxy.getNextProxy({ country: input.targetCountry });
const page = await tools.browser.newPage({
proxy: proxyConfig,
userAgent: getRandomUserAgent(),
viewport: { width: 1440, height: 900 },
locale: "en-US",
timezoneId: "America/New_York",
});
await page.setExtraHTTPHeaders({
"Accept-Language": "en-US,en;q=0.9",
"Accept-Encoding": "gzip, deflate, br",
});
const response = await page.goto(input.url, { waitUntil: "networkidle", timeout: 30_000 });
if (response.status() === 429) {
throw new SkillError("RATE_LIMITED", "Target site returned 429. Backing off.", { retryAfterMs: 60_000 });
}
// Execute interaction steps if defined (click "Load More", handle cookie banners, etc.)
for (const step of input.interactionSteps ?? []) {
await executeInteractionStep(page, step);
}
const html = await page.content();
const screenshot = await page.screenshot({ type: "png" }); // For visual verification
await page.close();
return { html, screenshot, url: page.url(), statusCode: response.status() };
},
});
Fingerabdruck-Randomisierung anfordern: Der Browser-Agent rotiert Benutzeragenten, Ansichtsfenstergrößen und HTTP-Header, um fingerabdruckbasiertes Blockieren zu vermeiden. Fingerabdruckprofile werden aus einer kuratierten Bibliothek realistischer Browsersignaturen erstellt.
Proxy-Rotation: Das Proxy-Tool verwaltet einen nach geografischen Gesichtspunkten geordneten Pool von Proxys für Privathaushalte und Rechenzentren. Es wählt Proxys basierend auf den geografischen Zugriffsanforderungen der Zielsite aus und rotiert sie, um Anfragen über IP-Adressen zu verteilen.
Interaktionsschritte: Viele Websites erfordern eine Interaktion, bevor der Inhalt sichtbar ist: Klicken Sie auf „Cookies akzeptieren“, scrollen Sie, um Lazy Loading auszulösen, und klicken Sie auf Paginierungssteuerelemente. Interaktionsschritte werden deklarativ definiert:
{
"interactionSteps": [
{ "type": "click", "selector": "[data-testid='cookie-accept']", "optional": true },
{ "type": "scroll", "direction": "down", "pixels": 2000 },
{ "type": "wait", "milliseconds": 2000 },
{ "type": "click", "text": "Load more results", "optional": true }
]
}
Parser-Agent: Semantische Extraktion ohne Selektoren
Beim Parser ist der KI-Vorteil von OpenClaw am deutlichsten sichtbar. Anstelle spröder CSS-Selektoren sendet der Parser-Agent den gerenderten HTML-Code und eine Schemadefinition an einen LLM, der die angeforderten Felder mithilfe semantischen Verständnisses extrahiert.
export const ExtractStructuredData = defineSkill({
name: "extract-structured-data",
tools: ["llm"],
async run({ input, tools }) {
// Clean HTML for LLM consumption (strip scripts, styles, non-content)
const cleanedHtml = cleanHtmlForExtraction(input.html, {
stripTags: ["script", "style", "noscript", "iframe"],
preserveAttributes: ["href", "src", "data-price", "data-sku"],
maxLength: 50_000, // LLM context limit
});
const extractedData = await tools.llm.extract({
content: cleanedHtml,
schema: input.extractionSchema,
instructions: `Extract the requested fields from the HTML. For prices, include the numeric value only (no currency symbols). For dates, use ISO 8601 format. If a field is not present on the page, return null for that field.`,
});
return { data: extractedData, sourceUrl: input.url, extractedAt: new Date().toISOString() };
},
});
Definition des Extraktionsschemas: Schemata werden im JSON-Schemaformat definiert und geben dem LLM präzise Tippanweisungen:
{
"type": "object",
"properties": {
"productName": { "type": "string", "description": "Full product name including model/variant" },
"price": { "type": "number", "description": "Current selling price, numeric only" },
"originalPrice": { "type": ["number", "null"], "description": "Original price before discount, or null if not on sale" },
"availability": { "type": "string", "enum": ["in_stock", "out_of_stock", "limited", "preorder"] },
"rating": { "type": ["number", "null"], "description": "Average rating out of 5, or null if no ratings" },
"reviewCount": { "type": ["integer", "null"] },
"sku": { "type": ["string", "null"] }
},
"required": ["productName", "price", "availability"]
}
Der LLM füllt jedes Feld basierend auf seinem semantischen Verständnis des Seiteninhalts. Fehlende Pflichtfelder lösen einen Extraktionsfehler und nicht einen stillen Nullwert aus.
Crawl-Management: Navigieren auf mehrseitigen Websites
Die nützlichste Datenextraktion erfordert die Navigation über mehrere Seiten: paginierte Produktlisten, Kategoriehierarchien, mehrseitige Artikel. Der Crawl Manager koordiniert die Browser- und Parser-Agenten auf einer Site.
export const CrawlProductListing = defineSkill({
name: "crawl-product-listing",
tools: ["browser", "queue", "storage"],
async run({ input, tools }) {
let pageUrl: string | null = input.startUrl;
const allProducts = [];
let pageNumber = 1;
while (pageUrl && pageNumber <= input.maxPages) {
const rendered = await tools.browser.render(pageUrl, { interactionSteps: input.interactionSteps });
const products = await extractProductsFromPage(rendered.html, input.extractionSchema);
allProducts.push(...products);
// Find the "Next" page URL
pageUrl = extractNextPageUrl(rendered.html, input.paginationPattern);
pageNumber++;
// Respect crawl rate — be a polite scraper
await sleep(input.delayBetweenPagesMs ?? 2000);
}
await tools.storage.put(`crawls/${Date.now()}-products.json`, JSON.stringify(allProducts));
return { productCount: allProducts.length, pagesProcessed: pageNumber - 1 };
},
});
Der Crawl-Manager berücksichtigt standardmäßig robots.txt. Bevor ein Crawl gestartet wird, wird die robots.txt-Datei der Zielsite abgerufen und analysiert und überprüft, ob die Zielpfade für den konfigurierten Benutzeragenten zulässig sind. Crawls, die versuchen, auf unzulässige Pfade zuzugreifen, werden blockiert und eine Warnung wird an den Betreiber gesendet.
Umgang mit Anti-Bot-Maßnahmen
Moderne Anti-Bot-Systeme (Cloudflare, Akamai Bot Manager, PerimeterX) nutzen Verhaltenssignale, um Menschen von Bots zu unterscheiden. Der Extraktionsagent verwendet mehrere Techniken, um als legitimen Browserverkehr zu erscheinen:
Mausbewegungssimulation: Echte Browsersitzungen weisen nichtlineare Mausbewegungen auf. Der Agent simuliert realistische Cursorpfade mit natürlichen Geschwindigkeitskurven, bevor er auf Ziele klickt.
Zeitvariation: Anfragen werden durch zufällige Intervalle verzögert, die aus einer Verteilung stammen, die auf das menschliche Surfverhalten abgestimmt ist, und nicht auf einheitliche oder deterministische Intervalle.
Cookie-Verwaltung: Von Anti-Bot-Systemen gesetzte Cookies werden beibehalten und bei nachfolgenden Anfragen gesendet, genau wie ein Browser.
Abschluss der JavaScript-Herausforderung: Bei Websites, die JavaScript-Herausforderungen verwenden (Überprüfung der API-Funktionen des Browsers, Ausführung von Rechenrätseln), besteht die gesamte Browserumgebung diese Prüfungen automatisch.
Für Websites mit CAPTCHA-Gates verfügt der Agent über zwei Pfade:
- Dienstintegration: Leiten Sie CAPTCHAs an einen von Menschen unterstützten CAPTCHA-Lösungsdienst (2captcha, Anti-Captcha) weiter, wenn eine nicht interaktive Lösung akzeptabel ist.
- Menschliche Eskalation: Unterbrechen Sie die Extraktionsaufgabe, weisen Sie einen menschlichen Bediener darauf hin, manuell am CAPTCHA vorbei zu navigieren, und fahren Sie mit der nächsten Seite fort.
Schemavalidierung und Datennormalisierung
Roh extrahierte Daten sind verrauscht. Die Preise sind in verschiedenen Formaten erhältlich (1.299,99 $, 1.299,99 $, 1.299,99 $ für europäische Formate). Daten erscheinen in jedem erdenklichen Format. Produktnamen weisen inkonsistente Groß- und Kleinschreibung und Codierungsartefakte auf. Der Validierungsagent normalisiert alle Werte, bevor sie die Bereitstellungsschicht erreichen.
export const NormalizeExtractedData = defineSkill({
name: "normalize-extracted-data",
async run({ input }) {
const normalized = input.data.map((record) => ({
...record,
price: parseFloat(String(record.price).replace(/[^0-9.]/g, "")),
originalPrice: record.originalPrice
? parseFloat(String(record.originalPrice).replace(/[^0-9.]/g, ""))
: null,
productName: record.productName.trim().replace(/\s+/g, " "),
extractedAt: new Date(record.extractedAt).toISOString(),
availability: normalizeAvailability(record.availability),
}));
// Validate against schema
const validation = validateAgainstSchema(normalized, input.outputSchema);
const valid = normalized.filter((_, i) => validation[i].valid);
const invalid = normalized.filter((_, i) => !validation[i].valid);
return { valid, invalid, validCount: valid.length, invalidCount: invalid.length };
},
});
Ungültige Datensätze (fehlende erforderliche Felder, Werte, die nicht normalisiert werden können) werden zur Überprüfung in einen separaten Ausnahmespeicher geschrieben und nicht stillschweigend gelöscht.
Bereitstellung: Daten dorthin bringen, wo sie benötigt werden
Der Delivery Agent schreibt normalisierte Daten an das konfigurierte Ziel:
Data Warehouse: Batch-Einfügung in BigQuery, Snowflake oder Redshift mit Schema-Matching-Spaltenzuordnung. Partitioniert nach Extraktionsdatum für effiziente Abfragen.
REST-API: POST an einen internen API-Endpunkt zur Echtzeitnutzung. Unterstützt Wiederholungsversuche auf 5xx und beinhaltet exponentiellen Backoff.
S3/Cloud-Speicher: Schreiben Sie als Parquet oder JSON für die nachgelagerte Verarbeitung durch Analysepipelines.
Datenbank: Upsert zu PostgreSQL, MySQL oder MongoDB mit konfigurierbarer Konfliktlösung (Aktualisierung bei Übereinstimmung, Überspringen bei Übereinstimmung, Fehler bei Übereinstimmung).
Änderungserkennung und -überwachung
Websites ändern ihre Struktur. Ein Mitbewerber gestaltet seine Produktseiten neu. Ein Lieferant aktualisiert sein Preisformat. Die Extraktionspipeline muss diese Änderungen erkennen und warnen, bevor sich die Datenqualität verschlechtert.
Der Überwachungsagent wird täglich ausgeführt und vergleicht die aktuelle Extraktionsausgabe mit einer statistischen Basislinie:
- Feldabdeckungsrate (wie viel Prozent der Datensätze haben Nicht-Null-Werte für jedes Feld)
- Änderungen der Wertverteilung (Preisspannen, Verfügbarkeitsverhältnisse)
- Extraktionserfolgsrate (wie viel Prozent der Crawling-Versuche führen zu gültigen Datensätzen)
Bei erheblichen Abweichungen wird eine Warnung mit einer Stichprobe der geänderten Ausgabe zur menschlichen Überprüfung ausgelöst.
Häufig gestellte Fragen
Ist Web Scraping legal?
Die Rechtmäßigkeit von Web Scraping hängt von der Gerichtsbarkeit, den gescrapten Daten und den Nutzungsbedingungen der Zielseite ab. Öffentliche Daten (Produktpreise, öffentlich gelistete Kontaktinformationen, veröffentlichte Nachrichtenartikel) dürfen in den meisten Gerichtsbarkeiten vorbehaltlich der Nutzungsbedingungen der Website grundsätzlich abgefragt werden. Die Hinterziehung der Authentifizierung, der Zugriff auf personenbezogene Daten oder die Umgehung technischer Schutzmaßnahmen werfen rechtliche und ethische Bedenken auf. ECOSIRE empfiehlt, vor der Bereitstellung von Produktionsextraktionspipelines eine rechtliche Prüfung für Ihren spezifischen Anwendungsfall und Ihre Zielstandorte einzuholen. OpenClaw umfasst standardmäßig die robots.txt-Konformität und die Ratenbegrenzung als grundlegende ethische Leitplanken.
Wie geht das System mit Websites um, die eine Anmeldung erfordern, um auf Daten zuzugreifen?
Bei Websites, bei denen Ihre Organisation über legitime Anmeldeinformationen verfügt (Ihr eigenes Lieferantenportal, von Ihnen abonnierte Preisüberwachungsdienste der Konkurrenz, Partnerseiten), kann sich der Agent mit den konfigurierten Anmeldeinformationen anmelden, die im Secrets Manager gespeichert sind. Die Anmeldeinteraktion wird vom Browser-Agenten mithilfe des Interaktionsschrittsystems abgewickelt. Sitzungscookies werden automatisch verwaltet und aktualisiert. Für Websites, die eine mehrstufige Authentifizierung erfordern, unterstützt der Agent TOTP-basierte MFA mithilfe eines konfigurierbaren TOTP-Geheimnisses.
Was ist die Datenaktualitätsgarantie für gecrackte Daten?
Die Aktualität der Daten hängt von Ihrem Crawl-Zeitplan ab. OpenClaw unterstützt Crawling-Zeitpläne von Echtzeit (kontinuierliches Crawling mit Ratenbegrenzung) bis hin zu täglich, wöchentlich oder auf Abruf. Für wettbewerbsfähige Preisdaten sind stündliche oder zweimal tägliche Crawls üblich. Für Marktforschungsdaten, die sich langsam ändern, sind tägliche oder wöchentliche Daten ausreichend. Das Extraktionsmittel versieht jeden Datensatz mit einem Zeitstempel mit der Extraktionszeit, sodass Verbraucher die Frische beurteilen können.
Kann das System sowohl paginierte APIs als auch Webseiten verarbeiten?
Ja. Der Browser-Agent verwaltet Webseiten; Ein API-Extraktionsagent verarbeitet paginierte REST- und GraphQL-APIs. Für APIs, die strukturiertes JSON zurückgeben, wird der Parser-Agent durch einen einfacheren Schemazuordnungsschritt ersetzt, der API-Antwortfelder dem Ausgabeschema zuordnet. Der Crawl Manager verwaltet die Paginierung über Link-Header, die Cursor-basierte Paginierung, die Offset-Limit-Paginierung und tokenbasierte Paginierungsmuster.
Wie gehen Sie mit dynamischen Inhalten um, die nach dem ersten Rendern der Seite asynchron geladen werden?
Der Browser-Agent unterstützt das Warten im Netzwerkleerlauf – er wartet, bis 500 ms lang keine neuen Netzwerkanforderungen gestellt wurden, bevor er den Seiteninhalt extrahiert. Für bestimmte API-Aufrufe, die die kritischen Daten laden, können Sie den Agent so konfigurieren, dass er Netzwerkantworten abfängt und Daten direkt aus der API-Nutzlast statt aus dem gerenderten HTML extrahiert, was schneller und zuverlässiger als die HTML-Analyse ist.
Nächste Schritte
Daten sind ein Wettbewerbsvorteil, aber nur, wenn Sie zuverlässig und in großem Umfang darauf zugreifen können. Die Datenextraktionsagenten von OpenClaw bieten die Zuverlässigkeit, Anpassungsfähigkeit und KI-gestützte Analyse, mit der fragile herkömmliche Scraper nicht mithalten können.
Der [OpenClaw Custom Skills-Service] (/services/openclaw/custom-skills) von ECOSIRE umfasst den Entwurf und die Implementierung einer Datenextraktionspipeline für Marktinformationen, Wettbewerbsüberwachung, Preisverfolgung und Anwendungsfälle für die Erfassung von Forschungsdaten. Unser Team entwirft Extraktionspipelines, die robust, wartbar und ethisch einwandfrei sind.
Kontaktieren Sie ECOSIRE, um Ihre Datenextraktionsanforderungen zu besprechen und einen individuellen Implementierungsvorschlag zu erhalten.
Geschrieben von
ECOSIRE Research and Development Team
Entwicklung von Enterprise-Digitalprodukten bei ECOSIRE. Einblicke in Odoo-Integrationen, E-Commerce-Automatisierung und KI-gestützte Geschäftslösungen.
Verwandte Artikel
AI-Powered Accounting Automation: What Works in 2026
Discover which AI accounting automation tools deliver real ROI in 2026, from bank reconciliation to predictive cash flow, with implementation strategies.
Payroll Processing: Setup, Compliance, and Automation
Complete payroll processing guide covering employee classification, federal and state withholding, payroll taxes, garnishments, automation platforms, and year-end W-2 compliance.
AI Agents for Business Automation: The 2026 Landscape
Explore how AI agents are transforming business automation in 2026, from multi-agent orchestration to practical deployment strategies for enterprise teams.