Scraper
Kurz: Ein Programm, das automatisiert Inhalte von Websites ausliest (z. B. HTML-Seiten abruft und die relevanten Daten extrahiert), statt dass ein Mensch sie manuell kopiert.
Genauer: Web-Scraping bewegt sich in einer rechtlichen und ethischen Grauzone: Viele Websites verbieten es explizit in ihren Nutzungsbedingungen oder blockieren es technisch (z. B. über robots.txt, Rate-Limiting oder Bot-Erkennung), da aggressives Scraping wie ein kleiner DDoS-Angriff wirken kann. Legitime Einsatzzwecke sind z. B. Preisvergleichsportale oder Suchmaschinen-Indexierung; problematisch wird es beim Kopieren urheberrechtlich geschützter Inhalte oder beim Umgehen von Zugriffsschutz.
Im Detail
Technisch besteht ein einfacher Scraper meist aus zwei Schritten: einem HTTP-Request an die Zielseite (oft mit einem “echten” User-Agent-Header, um nicht sofort als Bot erkannt zu werden) und einem Parser, der aus dem zurückgegebenen HTML die gewünschten Werte herausfiltert:
import requests
from bs4 import BeautifulSoup
response = requests.get("https://beispiel-shop.de/produkt/123")
soup = BeautifulSoup(response.text, "html.parser")
preis = soup.select_one(".preis").textWebsites, die Scraping unterbinden wollen, greifen zu mehreren Maßnahmen gleichzeitig: robots.txt als reine Höflichkeitsvereinbarung (ein Scraper kann sie technisch ignorieren, seriöse Bots wie Google respektieren sie aber), Rate-Limiting pro IP, CAPTCHAs bei auffälligem Muster, und zunehmend auch clientseitiges JavaScript-Rendering, das einen einfachen HTTP-Scraper ohne echten Browser (z. B. Headless Chrome via Playwright/Puppeteer) leer ausgehen lässt.
Die rechtliche Bewertung hängt stark vom Kontext ab: Öffentlich zugängliche, nicht urheberrechtlich geschützte Fakten (z. B. Preise) zu scrapen ist in vielen Rechtsordnungen grundsätzlich erlaubt, solange dabei keine Zugriffsschranken umgangen und die Nutzungsbedingungen nicht vertraglich bindend abgelehnt werden — sobald aber urheberrechtlich geschützte Inhalte (Texte, Bilder) im großen Stil kopiert oder technische Schutzmaßnahmen aktiv umgangen werden, wird es rechtlich riskant.
Scraper vs. Crawler vs. API
Drei verwandte Begriffe werden oft vermischt: Ein Crawler (wie ihn Suchmaschinen einsetzen) folgt systematisch Links, um möglichst viele Seiten zu entdecken und zu indexieren, ohne sich zwingend für konkrete Einzeldaten zu interessieren. Ein Scraper ist gezielter — er ruft bekannte Seiten auf und extrahiert spezifische Datenpunkte (Preise, Produktnamen, Bewertungen). Eine offizielle API ist der von der Zielseite selbst bereitgestellte, legitime und meist stabilere Weg, dieselben Daten strukturiert zu bekommen, ohne HTML parsen zu müssen — viele Unternehmen bieten APIs gerade DESHALB an, um unkontrolliertes Scraping ihrer Website zu reduzieren.
Gegenmaßnahmen aus Betreibersicht
Aus Sicht eines Website-Betreibers, der ungewolltes Scraping eindämmen will, gibt es mehrere Ebenen von Gegenmaßnahmen: Auf Netzwerkebene lässt sich per Rate-Limiting oder Web Application Firewall auffälliges Anfragemuster (viele Requests in kurzer Zeit von derselben IP) blockieren. Auf Anwendungsebene helfen CAPTCHAs oder Verhaltensanalyse (echte Nutzer bewegen die Maus, scrollen unregelmäßig — ein simpler Scraper tut das nicht). Fortgeschrittene Bot-Erkennungsdienste (z. B. Cloudflare Bot Management) analysieren zusätzlich TLS-Fingerprints und Browser-Eigenschaften, um selbst gut getarnte automatisierte Anfragen von echten Nutzern zu unterscheiden — ein ständiges Wettrüsten, da Scraper-Entwickler ihrerseits versuchen, wie ein echter Browser zu wirken (z. B. durch echte Headless-Browser statt reiner HTTP-Bibliotheken).
Ethische Grauzonen jenseits der reinen Rechtslage
Selbst wo Scraping rechtlich zulässig ist, bleiben ethische Fragen: Ein Scraper, der eine Website mit hoher Frequenz abfragt, kann für den Betreiber echte Infrastrukturkosten verursachen (Serverlast, Bandbreite) — ein “guter” Scraper drosselt sich deshalb selbst (z. B. eine Sekunde Pause zwischen Anfragen) und respektiert robots.txt, auch wenn er technisch nicht dazu gezwungen wäre. Bei personenbezogenen Daten (z. B. das systematische Scrapen öffentlicher Social-Media-Profile) kommt zusätzlich die DSGVO ins Spiel: Auch öffentlich einsehbare Daten bleiben personenbezogene Daten, deren automatisierte Massenverarbeitung eine eigene Rechtsgrundlage benötigt — ein Grund, warum größere Scraping-Projekte in Europa rechtlich sorgfältig geprüft werden sollten, bevor sie umgesetzt werden.
Siehe auch: DDoS