~/blog/web-scraping-best-practices-2026

Web-Scraping Best Practices 2026: Ein Leitfaden aus der Praxis

web-scrapingbest-practicesdata-extractionarchitecture

Nach dem Aufbau und Betrieb von 15 produktionsreifen Scrapern, die über 3.100 Nutzer mit >99% Erfolgsquote bedienen, hier die Praktiken, die wirklich zählen.

Architektur: In Pipelines denken, nicht in Skripten

Der größte Fehler, den ich immer wieder sehe: Scraping als Ein-Schritt-Prozess zu behandeln. Produktionsreife Scraper sind Datenpipelines:

  1. URL-Erkennung — finden, was gescraped werden soll (Sitemaps, Kategorieseiten, Suche, APIs)
  2. Request-Ausführung — Daten abrufen, mit sauberem Retry und Rotation
  3. Parsing — strukturierte Felder aus Rohantworten extrahieren
  4. Normalisierung — Output bereinigen, validieren und standardisieren
  5. Speicherung — in Datasets, Datenbanken oder nachgelagerte Systeme schreiben

Jeder Schritt sollte unabhängig testbar und wiederholbar sein. Wenn Sephora das Layout der Produktseite ändert, muss nur Schritt 3 angepasst werden — der Rest der Pipeline bleibt stabil.

APIs immer HTML-Parsing vorziehen

Bevor auch nur ein einziger CSS-Selektor geschrieben wird: prüfen, ob die Seite Folgendes bietet:

  • Öffentliche APIs — dokumentierte Endpunkte, die JSON zurückgeben
  • Private APIs — XHR-/Fetch-Calls, sichtbar in den Browser-DevTools
  • GraphQL-Endpunkte — zunehmend verbreitet, oft mit aktivierter Introspection
  • Eingebettetes JSON__NEXT_DATA__, window.__INITIAL_STATE__ oder JSON-LD im HTML

API-Antworten sind strukturiert, versioniert und deutlich stabiler als HTML-Layouts. Mein Sephora Scraper wandelt jede Web-URL in einen API-Call um — er ist noch nie wegen eines Frontend-Redesigns kaputtgegangen.

Proxy-Strategie: Passend zum Schutzniveau

Nicht jede Seite braucht Residential Proxys. Hier mein Entscheidungsraster:

SchutzniveauProxy-TypBeispiel-Sites
Keins / BasicRechenzentrumDie meisten Shopify-Shops, kleine Seiten
Rate-LimitingRotierendes RechenzentrumMittlerer E-Commerce, Content-Seiten
FingerprintingResidentialSephora, Farfetch, große Marken
Erweiterte WAFResidential + TLS-FingerprintAkamai, Cloudflare Enterprise

Die Kernerkenntnis: Proxy-Kosten skalieren mit dem Schutzniveau. Kein Geld für Residential Proxys verschwenden, wenn eine Seite nur die IP-Reputation prüft. Mein Shopify Scraper läuft problemlos mit Rechenzentrums-Proxys, weil Shopifys Standardschutz minimal ist.

Session-Management ist alles

Der Unterschied zwischen 60% und 99% Erfolgsquote liegt meist im Session-Management:

  • Sessions rotieren, nicht nur IPs — eine neue IP mit denselben Cookies wirkt verdächtig
  • Sessions aufwärmen — die Startseite besuchen, bevor Produktseiten angefragt werden
  • Rate Limits respektieren — 5 gleichzeitige Anfragen schlagen 50, die geblockt werden
  • Exponential Backoff — Retries nach 1s, 2s, 4s, 8s, nicht sofort erneut versuchen

Mein Sephora-EU-Scraper verwaltet Guest-Token mit automatischem Refresh und Exponential Backoff. Er hält persistente Sessions aufrecht, die wie echte Browsing-Muster aussehen.

Output normalisieren

Rohe gescrapte Daten sind unordentlich. Alles normalisieren:

Preise

Als Integer speichern (Cent, nicht Euro/Dollar). $29.99 wird zu 2999. Das vermeidet Floating-Point-Präzisionsfehler, die Finanzdaten nachgelagert verfälschen. Jeder meiner E-Commerce-Scraper nutzt diese Konvention.

URLs

Immer absolute URLs speichern, nie relative Pfade. Zum Zeitpunkt der Extraktion auflösen.

Datumsangaben

ISO 8601 (2026-04-01T00:00:00Z), immer mit Zeitzone. Niemals lokal formatierte Datumswerte speichern.

Text

Überschüssige Leerzeichen entfernen, Unicode normalisieren und eine HTML-Handling-Policy festlegen (Tags entfernen vs. Formatierung erhalten).

Fehlerbehandlung: Mit Fehlschlägen rechnen

Produktionsreife Scraper scheitern ständig — die Frage ist, wie elegant. Mein Ansatz:

1Request fails (network error, timeout, 4xx/5xx)
2  → Retry with exponential backoff (up to 5 attempts)
3    → Rotate session/proxy on retry
4      → Log failure with full context if all retries exhausted
5        → Continue processing remaining URLs (don't crash the batch)

Erfolgsquoten pro URL-Muster nachverfolgen. Wenn /category/*-Seiten plötzlich unter 90% Erfolgsquote fallen, hat sich auf der Seite wahrscheinlich etwas geändert — das fällt auf, bevor Nutzer es melden.

Monitoring und Alerting

Ein Scraper ohne Monitoring ist ein Scraper, der nur darauf wartet, still zu versagen. Nachverfolgen:

  • Erfolgsquote pro Run und pro URL-Muster
  • Output-Anzahl — plötzliche Einbrüche bedeuten, dass etwas kaputt ist
  • Datenqualität — Null-Felder, unerwartete Werte, Schema-Verletzungen
  • Kosten — Proxy-Nutzung, Rechenzeit, Storage

Alle meine Apify-Actors stellen diese Metriken bereit. Sinkt die Erfolgsquote, werde ich innerhalb von Stunden benachrichtigt — oft bevor es einem Nutzer auffällt.

Einfach starten, Komplexität nach Bedarf hinzufügen

Jeder Scraper, den ich baue, startet als die einfachste Lösung, die funktioniert:

  1. HTTP + Cheerio zuerst (am schnellsten, am günstigsten)
  2. Fingerprinting ergänzen nur bei Blockaden
  3. Browser-Rendering ergänzen nur wenn JavaScript erforderlich ist
  4. Proxy-Rotation ergänzen nur bei Rate-Limiting

Mein Ulta Scraper ist reines Cheerio — kein Browser nötig. Mein Universal Web Printer nutzt Playwright, weil er JavaScript rendern muss. Das richtige Werkzeug für die jeweilige Aufgabe.


Das sind keine theoretischen Prinzipien — sie stammen aus produktiven Scrapern im Live-Betrieb, die Millionen von Anfragen verarbeiten. Für einen individuellen Scraper nach diesen Prinzipien — jetzt Kontakt aufnehmen.

whoami
Richard Feng
Web-Scraping-Engineer, 12+ Jahre Erfahrung. Ich baue produktionsreife Scraper, die sauberes, RAG-fertiges JSON für KI liefern.

Ähnliche Beiträge

Anti-Bot-Schutz verstehen: Was 2026 funktioniert

Ein technischer Deep-Dive in moderne Anti-Bot-Systeme — Cloudflare, Akamai, Datadome — und die legitimen Bypass-Techniken, die im produktiven Scraping eingesetzt werden.

Diese Daten als sauberes JSON benötigt?

Den Scraper-Katalog durchsuchen, oder mich für einen maßgeschneiderten Extraktor und eine RAG-Pipeline für die jeweilige Quelle beauftragen.

Tools durchsuchen individuelle Daten anfragen