Ein Web-Scraper: So sammeln Sie Daten aus dem Internet

Preise von der Website eines Lieferanten von Hand in eine Tabelle zu kopieren, klappt bei zwanzig Produkten. Bei zweitausend kostet es eine Woche und enthält trotzdem Tippfehler. Ein Web-Scraper (auch Parser genannt) ist ein kleines Programm, das die Seiten für Sie öffnet, von jeder dieselben Informationen übernimmt und sie als Tabelle speichert. Hier erfahren Sie, was er kann, was Sie vorbereiten sollten und welche Regeln gelten.

Wofür ein Scraper gut ist
Ein Scraper ist immer dann nützlich, wenn dieselbe Art von Information auf vielen ähnlichen Seiten steht:
- Preise und Lagerbestand. Verfolgen Sie, wie sich die Preise eines Lieferanten ändern oder welche Artikel ausverkauft sind.
- Der Katalog eines Lieferanten. Übernehmen Sie Namen, Beschreibungen, Bilder und Preise in Ihren eigenen Shop.
- Inserate. Sammeln Sie Immobilien-, Auto- oder Stellenanzeigen von einer öffentlichen Plattform in einer Tabelle.
- Veranstaltungen und Artikel. Tragen Sie Termine, Titel und Links aus einem öffentlichen Kalender oder einer Nachrichtenseite zusammen.
Nur sammeln, was Sie sammeln dürfen
Prüfen Sie vor allem anderen, ob Sie die Daten rechtmäßig übernehmen dürfen:
- Nur öffentliche Seiten. Wenn Sie sich anmelden müssen, um die Daten zu sehen, ist ein Scraper das falsche Werkzeug.
- Lesen Sie die Nutzungsbedingungen der Website. Viele Websites legen fest, was gesammelt werden darf und was nicht. Große Plattformen, Suchmaschinen und soziale Netzwerke verbieten es meist; nutzen Sie stattdessen deren offiziellen Export oder ihre API.
- Halten Sie Abrufgrenzen ein. Eine Pause von einigen Sekunden zwischen den Seiten hält die Last für die Website gering. Versuchen Sie nie, Captchas oder Sperren zu umgehen.
- Beachten Sie die Datenschutzgesetze. Namen, E-Mail-Adressen und Telefonnummern von Personen sind personenbezogene Daten, und viele Länder schränken ihre Erhebung streng ein. Lassen Sie sie weg.
Ob Sie die Daten einer Website sammeln und nutzen dürfen, entscheiden letztlich Sie, prüfen Sie es also, bevor Sie beginnen.
Die Seiten beschreiben
Ein Scraper wird für den tatsächlichen Aufbau der Seiten geschrieben, seien Sie also genau:
- Ein Link zu einer Listenseite und ein Link zu einer Artikelseite.
- Ungefähr wie viele Seiten es gibt, zum Beispiel „etwa 40 Listenseiten mit je 24 Produkten“.
- Eine oder zwei im Browser gespeicherte Seiten (Datei > Seite speichern unter) oder Screenshots davon.
Die Felder wie Tabellenspalten auflisten
Stellen Sie sich das Ergebnis als Tabelle vor und benennen Sie die Spalten der Reihe nach, jeweils mit einem Beispiel:
- Name: „Schneidebrett aus Eiche, groß“
- Preis: „34.90“
- Alter Preis: „39.90“, wenn der Artikel reduziert ist
- Auf Lager: „ja“
- Link zur Artikelseite und Link zum Bild
Zehn klare Felder sind besser als dreißig vage. Ergänzen Sie jede Regel, die Sie brauchen, etwa „nur Artikel auf Lager“.
Format und Ausführungsort wählen
- CSV öffnet sich in jedem Tabellenprogramm und lässt sich in die meisten Shopsysteme importieren.
- Excel ist bequemer, wenn Sie von Hand filtern und sortieren.
- JSON passt, wenn ein Entwickler die Daten anderswo einlesen soll.
Der Scraper läuft mit Python auf Ihrem eigenen Computer, die Daten kommen also direkt zu Ihnen, und Sie können ihn jederzeit erneut starten, wenn Sie aktuelle Zahlen brauchen.
Wenn sich die Website ändert
Ein Scraper folgt den Seiten so, wie sie heute aussehen. Bekommt die Website ein neues Design, findet der Scraper die Felder womöglich nicht mehr und muss angepasst werden. Eine Website kann Besuche auch bei höflichem Tempo begrenzen. Planen Sie das ein, wenn Sie jede Woche auf die Daten angewiesen sind.
Kurz gesagt
Legen Sie fest, welche öffentlichen Seiten und Felder Sie brauchen, prüfen Sie die Nutzungsbedingungen der Website, halten Sie ein höfliches Tempo ein und lassen Sie personenbezogene Daten weg. Wenn Sie den Code lieber nicht selbst schreiben, bestellen Sie einen Web-Scraper: Sie schicken die Website, die Felder und eine oder zwei gespeicherte Seiten und erhalten den Python-Code, eine Einstellungsdatei und eine Schritt-für-Schritt-Anleitung, mit der Sie ihn starten und die Daten als CSV, Excel oder JSON speichern. Die Zahlung wird erst freigegeben, nachdem Sie die Arbeit abgenommen haben.