PROJEKT

Websites mit konfigurierbarer Python-Automatisierung scrapen

Individuelle Softwareentwicklung, Website-Daten-Scraping, Konfigurierbare Python-Automatisierung, Strukturierter CSV- und JSON-Export, Rendering von JavaScript-Seiten, Wiederkehrende Scraper-Läufe, Datenbank- und API-Bereitstellung

  • Branche: Marktforschungsdienstleistungen
  • Deutschland Standort: Deutschland
  • Umsetzungszeit: 10 Wochen
  • Technologien: Python, JavaScript / TypeScript
3 Monate

Dieser Kunde verbringt Zeit damit, Produkt-, Angebots- und Kontaktdaten von öffentlichen Websites zu sammeln. Manuelle oder uneinheitliche Erfassung erschwert wiederholbare Recherchearbeiten. Die Software akzeptiert Ziel-URLs oder URL-Muster, Selektoren und Seitenregeln. Anschließend liefert sie strukturierte Datensätze als CSV, JSON oder Excel. So erhält eine Forschungsorganisation ein konfigurierbares Tool für die wiederkehrende Extraktion von Website-Daten, einschließlich Seiten, die browserbasiertes Rendering erfordern.

Zusammenfassung

Problem

Die Forschungsorganisation möchte die manuelle oder uneinheitliche Website-Erfassung durch wiederholbare Extraktion ersetzen.

Lösung

Die Lösung wurde zu einem konfigurierbaren Scraper, der Seitenregeln befolgt, dynamische Inhalte verarbeitet und strukturierte Datensätze exportiert.

Ergebnis

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

  1. URLs, URL-Muster, Selektoren, XPaths oder Konfigurationsdateien akzeptieren
  2. Ausgewählte Inhalte in strukturierte Datensätze extrahieren
  3. Seitennavigation über mehrere Seiten und Websites hinweg verfolgen
  4. 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

Erweiterbar um

+ Kontrollen zur Einhaltung der robots.txt + Cloud-Zeitplanung + Datenarchivierung + Projektspezifische Dokumentation + Zusätzliche Datenbankzuordnungen

Wer diese Lösung noch nutzen kann

Diese Unternehmen haben eine ähnliche Aufgabe. Die gleiche Lösung lässt sich an ihre Sammlung öffentlicher Website-Daten anpassen.

Eine Marktforschungsagentur

Aufgabe Sie sammelt Produkt-, Markt- und Kontaktdaten von öffentlichen Websites.
So hilft die Lösung Die Lösung unterstützt wiederholbare Extraktionsregeln und den Export strukturierter Forschungsdatensätze.

Ein Datenanalyseteam

Aufgabe Sie erfasst Angebote, Tabellen und ausgewählte Inhalte auf öffentlichen Websites.
So hilft die Lösung Die Lösung unterstützt Seitennavigation, rendert dynamische Seiten und liefert Datensätze an Dateien oder Datenbanken.

Eine Forschungsberatung

Aufgabe Sie archiviert oder analysiert sichtbaren Text und strukturierte Inhalte öffentlicher Webseiten.
So hilft die Lösung Die Lösung unterstützt geplante Läufe, die Prüfung von Fehlern und die Aufbewahrung erzeugter Dateien mit den Laufprotokollen.

Technologie-Stack

Python

Automatisierungssprache

Python führt den konfigurierbaren Scraper, Extraktionsregeln, Datenverarbeitung und Exporte aus.

JavaScript / TypeScript

Sprache für Browser-Automatisierung

JavaScript oder TypeScript unterstützt die Browser-Automatisierung, wenn browserbasierte Extraktion verwendet wird.

Requests

HTML-Seiten abrufen

Requests (eine Python-Bibliothek zum Senden von Webanfragen) ruft Seiten zur direkten Extraktion ab.

BeautifulSoup

Seiten-HTML parsen

BeautifulSoup (eine Python-Bibliothek zum Lesen von HTML) findet ausgewählte Felder und sichtbare Inhalte im Seiten-Markup.

Scrapy

Mehrere Seiten crawlen

Scrapy (ein Python-Framework für Web-Crawling) folgt verbundenen Seiten und unterstützt mehrseitige Extraktion.

Playwright

Browserseiten rendern

Playwright ist eine High-Level-API zur Automatisierung von Webbrowsern bei browserbasierter Extraktion.

Pandas

Extrahierte Daten verarbeiten

Pandas organisiert extrahierte Datensätze vor dem Export oder der Bereitstellung.

openpyxl

Excel-Dateien schreiben

openpyxl (eine Python-Bibliothek zum Lesen und Schreiben von Excel-Dateien) unterstützt die XLSX-Ausgabe.

CSV

Tabellendatensätze exportieren

CSV speichert extrahierte Datensätze in einer einfachen Tabellendatei.

JSON

Strukturierte Datensätze exportieren

JSON speichert extrahierte Felder als strukturierte Datensätze für Dateien oder APIs.

Integrationen

PostgreSQL

Der Scraper schreibt gesammelte Datensätze in PostgreSQL, wenn eine Datenbankbereitstellung erforderlich ist.

REST JSON endpoint

Die Lösung stellt gesammelte Datensätze bei Bedarf über einen schlanken REST-JSON-Endpunkt bereit.

Excel

Die Lösung tauscht extrahierte Datensätze über XLSX-Dateien aus.

Command line and local scheduling

Der Scraper läuft über die Kommandozeile oder auf einem lokalen Rechner mit Cron oder der Windows-Aufgabenplanung.

Das Ergebnis

Extraktionsregeln für jede Website festlegen

Die Konfigurationsoberfläche bündelt Ziel-Websites, Felder und Selektoren. Einstellungen für Seitennavigation und dynamische Inhalte sind ebenfalls verfügbar.

So erhält das Forschungsteam einen klaren Ort, um vor einem Lauf festzulegen, was der Scraper sammelt.

So funktioniert es

  1. Die Konfiguration speichert Website-URLs, benötigte Felder und Selektoren oder XPaths.
  2. Der Scraper wendet Feldregeln auf ausgewählte Seiteninhalte an.
  3. Module für Seitennavigation und dynamische Inhalte bereiten den Lauf für verbundene Seiten und browsergerenderte Inhalte vor.
  • Ziel-URLs können einzelne Adressen oder URL-Muster sein.
  • Ausgaben umfassen CSV, JSON oder Excel.
Hinweis: Ratenbegrenzungen, Verzögerungen, User-Agent-Einstellungen, Wiederholungen und Kontrollen zur Einhaltung der robots.txt unterstützen eine verantwortungsvolle Erfassung.
Scraper-Konfiguration

Scraper-Konfiguration

Funktionen auf diesem Bildschirm
Ausgewählte Felder extrahieren Seitennavigation verarbeiten Dynamische Inhalte rendern

Strukturierte Website-Datensätze prüfen

Die Ergebnistabelle stellt extrahierte Felder, sichtbaren Text und Tabellen als strukturierte Datensätze dar.

Der CSV-, JSON- und Excel-Export hält die gesammelten Daten für Forschungsdateien und weitere Analysen bereit.

So funktioniert es

  1. Das Extraktionsmodul erstellt Datensätze aus ausgewählten Feldern, sichtbarem Text, Tabellen oder Angeboten.
  2. Die Ergebnistabelle zeigt extrahierte Felder und die Anzahl der Datensätze.
  3. Das Exportmodul erstellt CSV-, JSON- oder XLSX-Dateien.
  • JSON eignet sich für den strukturierten Austausch.
  • Excel ist verfügbar, wenn es der Umfang der Extraktion erfordert.
Extrahierte Datensätze und Export

Extrahierte Datensätze und Export

Funktionen auf diesem Bildschirm
Strukturierte Daten extrahieren Daten als CSV oder JSON exportieren

Läufe verfolgen und Fehler untersuchen

Die Laufhistorie zeigt Ziel-Websites, Zeitstempel und Status. Sie protokolliert außerdem Fehler, Wiederholungen und Pfade zu erzeugten Dateien.

Protokolle geben dem Team eine praktische Möglichkeit, die Scraper-Aktivität zu prüfen, wenn sich eine Seite ändert oder ein Lauf Aufmerksamkeit erfordert.

So funktioniert es

  1. Der Scraper protokolliert Zeitstempel, Ziel-Websites und Erfolgs- oder Fehlerstatus eines Laufs.
  2. Der Protokoll-Viewer zeigt Fehlermeldungen und Informationen zu Wiederholungen.
  3. Links zu erzeugten Dateien verbinden jeden Lauf mit seinen CSV-, JSON- oder Protokollpfaden.
  • Die Laufhistorie dokumentiert wiederkehrende Erfassungsaktivitäten.
  • Fehlermeldungen zeigen während eines Laufs aufgezeichnete Probleme.
Laufhistorie und Scraper-Protokolle

Laufhistorie und Scraper-Protokolle

Funktionen auf diesem Bildschirm
Scraping-Aktivitäten protokollieren

Datensätze an eine Datenbank oder API senden

Die Bereitstellungsoberfläche bereitet gesammelte Datensätze für die Nutzung in einer Datenbank oder API vor, statt sie nur in Exportdateien abzulegen.

Die Zuordnung von Feldern zu Schemata und eine Vorschau der JSON-Nutzdaten helfen dabei, extrahierte Daten an die Zielstruktur anzupassen.

So funktioniert es

  1. Das Zielmodul speichert Datenbankeinstellungen oder die Zielkonfiguration.
  2. Das Zuordnungsmodul verbindet extrahierte Felder mit dem Schema der Zieltabelle.
  3. Das Integrationsmodul protokolliert schemaangepasste JSON-Daten, Datenbankdatensätze und Laufprotokolle.
  • Die Lösung unterstützt bei Bedarf die Bereitstellung über PostgreSQL.
  • Für angeforderte Integrationen ist ein schlanker REST-JSON-Endpunkt verfügbar.
Datenbank- oder API-Bereitstellung

Datenbank- oder API-Bereitstellung

Was die Lösung ermöglicht

Mit dieser Lösung kann die Forschungsorganisation:

  • Extraktionsregeln für jede Ziel-Website definieren
  • Ausgewählte Inhalte über Seiten mit Seitennavigation hinweg sammeln
  • Browsergerenderte und verzögert geladene Inhalte verarbeiten
  • Strukturierte Datensätze als CSV, JSON oder Excel exportieren
  • Fehler, Wiederholungen und erzeugte Dateien prüfen
  • Gesammelte Datensätze an eine Datenbank oder API senden

Könnten Standardlösungen die Aufgabe übernehmen?

Vor der Entwicklung wurde die Aufgabe anhand der jeweiligen Produktbeschreibungen mit Standardprodukten verglichen.

Was der Kunde benötigt Software zur Datenextraktion Data Extraction Web-Scraping-APIs Oxylabs, Zyte, Scrapfly No-Code-Scraping-Tools Octoparse Individuelle Lösung
URLs und Extraktionsregeln akzeptieren
Ausgewählte Website-Inhalte extrahieren
Seitennavigation über mehrere Seiten verfolgen
Dynamische Browserinhalte verarbeiten teilweise
An die eigenen Regeln des Kunden angepasst: Schritte, Rollen, Berichte — — —
Alle Schritte an einem Ort —
Keine manuellen Schritte zwischen Programmen teilweise teilweise

Nach den öffentlichen Beschreibungen der Produkte und ihrer Kategorie.

Die wichtigsten Teile der Aufgabe sind in Software zur Datenextraktion, Web-Scraping-APIs und No-Code-Scraping-Tools vorhanden. Ein Standardprodukt reicht aus, wenn nur ein Teil der Aufgabe benötigt wird.

Dieser Kunde benötigte eigene Software, weil Extraktionsregeln, lokaler Betrieb, Dokumentation, Ausgabeformate, Protokolle und Zielanforderungen für die Forschungsarbeit an einem Ort zusammenpassen mussten. Standardlösungen unterscheiden sich außerdem darin, wie sie manuelle Schritte zwischen Programmen verarbeiten.

Am Ende

Am Ende wurde die Lösung entwickelt, um die manuelle Erfassung aus dem Weg von öffentlichen Websites zu strukturierten Forschungsdaten zu nehmen.

FAQ

Sie möchten ein ähnliches System entwickeln? Lesen Sie die Antworten unten, um zu erfahren, wie konfigurierbares Scraping, Exporte, Browser-Rendering und Bereitstellung in einen Forschungsworkflow passen können.