Zusammenfassung
Die Forschungsorganisation möchte die manuelle oder uneinheitliche Website-Erfassung durch wiederholbare Extraktion ersetzen.
Die Lösung wurde zu einem konfigurierbaren Scraper, der Seitenregeln befolgt, dynamische Inhalte verarbeitet und strukturierte Datensätze exportiert.
Die Software wurde entwickelt, um manuelle Erfassung und uneinheitliche Extraktion zu reduzieren.
Kundengeschichte
Der Kunde ist eine Forschungsorganisation aus Deutschland. Sie sammelt Produkt-, Angebots- und Kontaktdaten von öffentlichen Websites für Forschungszwecke.
Die manuelle und uneinheitliche Erfassung kostet das Team Zeit, insbesondere wenn Ziel-Websites Seitennavigation, wechselnde Seitenstrukturen und dynamische Tabellen verwenden.
Die Anforderung war einfach: Ziel-URLs oder URL-Muster sowie konfigurierbare Selektoren oder Konfigurationsdateien akzeptieren und ausgewählte Website-Inhalte als strukturierte Datensätze zurückgeben.
Die Lösung wurde rund um konfigurierbare Feldregeln, mehrseitiges Crawling und browserbasiertes Rendering entwickelt. Geplante Läufe und klare Protokolle unterstützen eine wiederholbare Erfassung.
Der Kunde benötigte
- URLs, URL-Muster, Selektoren, XPaths oder Konfigurationsdateien akzeptieren
- Ausgewählte Inhalte in strukturierte Datensätze extrahieren
- Seitennavigation über mehrere Seiten und Websites hinweg verfolgen
- JavaScript-Seiten, dynamische Tabellen und verzögertes Laden verarbeiten
Warum Standardsoftware nicht passte
Standardsoftware zur Datenextraktion deckt viele Quelltypen ab, während verwaltete Scraping-Dienste sich auf APIs, Browser-Infrastruktur und Proxy-Dienste konzentrieren. Dieser Kunde benötigte projektspezifische Felder, Selektoren und Regeln für die Seitennavigation. Die Lösung musste außerdem lokal betrieben werden können und Dokumentation sowie definierte Ausgabeanforderungen bieten.
Projektübersicht
Die Lösung wurde rund um eine Konfigurationsoberfläche für den Scraper entwickelt, in der das Forschungsteam Ziel-URLs, Felder und Selektoren definiert. Regeln für die Seitennavigation und Ausgabeformate sind ebenfalls verfügbar.
Um unterschiedliche Seitenstrukturen zu verarbeiten, nutzt der Scraper konfigurierbare Extraktionsregeln für Felder, sichtbaren Text und Tabellen. Er durchsucht verbundene Seiten und folgt bei Bedarf der Seitennavigation.
Für JavaScript-Seiten, dynamische Tabellen und verzögert geladene Inhalte wurde browserbasiertes Rendering bereitgestellt. Statische Seiten können stattdessen über direkte HTTP-Anfragen und HTML-Parsing verarbeitet werden.
Die Lösung wurde außerdem für wiederholbare Abläufe ausgelegt. Sie läuft über die Kommandozeile oder auf einem lokalen Rechner, unterstützt Zeitpläne und protokolliert Fehler sowie Wiederholungsversuche.
Die gesammelten Datensätze können als CSV, JSON oder Excel ausgegeben werden. PostgreSQL, ein schlanker REST-JSON-Endpunkt und die Projektdokumentation unterstützen die weitere Nutzung durch das Kundenteam.
Wichtige bereitgestellte Funktionen
- Konfigurierbare Ziel-URLs und URL-Muster
- Editor für Feldselektoren und XPaths
- Mehrseitiges Crawling und Seitennavigation
- Rendering von JavaScript und verzögert geladenen Inhalten
- CSV-, JSON- und Excel-Export
- Ratenbegrenzungen, Verzögerungen, Wiederholungen und User-Agent-Einstellungen
- Laufhistorie und Scraping-Protokolle
- Bereitstellung über PostgreSQL oder REST-JSON