Web Scraping: Techniken, Rechtslage und Abwehrmaßnahmen
Web Scraping bezeichnet die automatisierte Extraktion von Webinhalten. Techniken, Rechtslage nach DSGVO und UrhG, Erkennung, Abwehr und OSINT-Relevanz kompakt erklärt.
Inhaltsverzeichnis (5 Abschnitte)
Web Scraping bezeichnet die automatisierte Extraktion von Daten aus Webseiten mittels Software-Bots oder -Skripten. Der Begriff leitet sich vom englischen “to scrape” (schaben, abkratzen) ab und beschreibt treffend, wie strukturierte oder unstrukturierte Daten von Webseiten geerntet werden. Web Scraping ist technisch neutral - es wird sowohl für legitime Zwecke (Preisvergleich, SEO-Analyse, Forschung) als auch für missbräuchliche Aktivitäten (Spam-Harvesting, Content-Diebstahl, OSINT-Angriffe) eingesetzt.
Techniken und Werkzeuge
HTTP-basiertes Scraping
Die einfachste Form: HTTP-Anfragen werden an einen Webserver gesendet, die HTML-Antwort wird heruntergeladen und geparst.
Werkzeuge:
- Python + Requests + BeautifulSoup: Klassische Kombination für einfache, statische Webseiten. BeautifulSoup parst HTML und ermöglicht die Selektion von Elementen über CSS-Selektoren oder XPath.
- Scrapy: Python-Framework für umfangreiche Scraping-Projekte mit eingebautem Request-Scheduling, Rate-Limiting, Pipeline-Architektur und Middleware-System.
- curl / wget: Kommandozeilentools für einfache Einzelseiten-Downloads; geeignet für schnelle Tests.
Einschränkung: Funktioniert nur bei statischen HTML-Seiten. JavaScript-gerenderter Content (SPAs, React, Angular) ist so nicht zugänglich.
Browser-Automatisierung (Headless Browser)
Für JavaScript-gerenderte Webseiten werden Browser-Automatisierungstools eingesetzt, die einen echten Browser (oder Headless-Variante) steuern:
- Selenium: Steuert echte Browser (Chrome, Firefox, Edge) über WebDriver-API. Kann komplexe Interaktionen (Login, Formularausfüllen, Scroll) simulieren. Langsamer und ressourcenintensiver.
- Playwright: Modernere Alternative zu Selenium. Unterstützt Chromium, Firefox und WebKit. Bessere Async-Unterstützung, zuverlässigere Selektoren.
- Puppeteer: Google-Bibliothek zur Steuerung von Chromium via DevTools-Protokoll. Sehr gute Performance, enge Chrome-Integration.
API-basiertes Scraping
Viele Webseiten kommunizieren intern über APIs (REST, GraphQL). Durch Analyse des Netzwerkverkehrs (Browser-DevTools → Network-Tab) können diese undokumentierten APIs direkt angesprochen werden - oft effizienter als HTML-Parsing.
Verteiltes Scraping
Für groß angelegte Scraping-Operationen werden Proxy-Pools eingesetzt, um IP-Sperren zu umgehen. Services wie ScraperAPI, Bright Data oder Oxylabs verwalten Pools aus Millionen von Residential IPs. Verteiltes Scraping verteilt außerdem Last auf viele Quell-IPs und umgeht Rate-Limiting.
Rechtslage
Die Legalität von Web Scraping ist komplex und von mehreren Rechtsgebieten abhängig. Eine pauschale Aussage - “Scraping ist legal/illegal” - ist falsch.
DSGVO (Datenschutz-Grundverordnung)
Wenn gescrapte Daten personenbezogene Informationen enthalten (Namen, E-Mail-Adressen, Telefonnummern, Profile), greift die DSGVO:
- Art. 6 DSGVO (Rechtmäßigkeit der Verarbeitung): Es muss eine Rechtsgrundlage vorliegen - Einwilligung, berechtigtes Interesse oder Erfüllung eines Vertrags. Das berechtigte Interesse (Art. 6 Abs. 1 lit. f) kann in Einzelfällen greifen, muss aber sorgfältig abgewogen werden.
- Art. 14 DSGVO (Informationspflicht): Auch bei Daten, die nicht direkt beim Betroffenen erhoben werden, bestehen Informationspflichten - oft in der Praxis schwer erfüllbar beim Massenscraping.
- DSGVO-Bußgelder: Unrechtmäßiges Scraping personenbezogener Daten kann als DSGVO-Verstoß gewertet werden (Art. 83). Praxisbeispiele: LinkedIn hat mehrfach Scraper auf Basis der DSGVO verklagt.
UrhG (Urheberrechtsgesetz) und Datenbankschutz
- §87b UrhG (Datenbankschutz): Datenbanken, in deren Zusammenstellung eine wesentliche Investition geflossen ist (Auswahl, Überprüfung, Darstellung), sind urheberrechtlich als Datenbankwerk geschützt. Das systematische Scraping erheblicher Teile einer solchen Datenbank ist ohne Erlaubnis des Rechteinhabers unzulässig.
- BGH “Freunde finden” (I ZR 135/12): Der BGH hat entschieden, dass das automatisierte Auslesen von Nutzerdaten einer Plattform gegen den Datenbankschutz und die Nutzungsbedingungen verstößt.
- §44b UrhG (Text und Data Mining): Seit 2021 erlaubt das UrhG Text- und Datamining zu Forschungszwecken (§60d UrhG) und für andere Zwecke, sofern der Rechteinhaber keinen ausdrücklichen Vorbehalt erklärt (robots.txt, AGB). Kommerzielle Nutzung ohne Vorbehalt ist aber weiterhin umstritten.
Nutzungsbedingungen (Terms of Service)
Die meisten großen Webseiten schließen Web Scraping in ihren AGB aus. Ein Verstoß gegen AGB ist kein Straftatbestand, kann aber zivilrechtliche Konsequenzen haben (Unterlassung, Schadensersatz). Zudem kann bei Scraping trotz robots.txt-Sperrung §202a StGB (Ausspähen von Daten) greifen, wenn die Maßnahmen als Zugangsschutz gewertet werden.
robots.txt
Die robots.txt-Datei ist ein technischer, kein rechtlicher Standard. Sie signalisiert, welche Teile einer Website nicht gecrawlt werden sollen. Das Ignorieren von robots.txt ist kein Straftatbestand per se, kann aber als Indikator für vorsätzliches, missbräuchliches Verhalten gewertet werden.
Erkennung und Abwehr
Aus Sicht eines Webseitenbetreibers gibt es verschiedene Methoden, Scraping zu erkennen und zu erschweren:
Erkennungsmethoden
Traffic-Analyse:
- Unnatürlich hohe Request-Raten von einzelnen IPs
- Fehlende oder ungewöhnliche HTTP-Header (kein User-Agent, kein Referer)
- Zugriff auf Seiten in einer für Menschen untypischen Reihenfolge
- Sehr kurze Verweildauer pro Seite
- Fehlende JavaScript-Ausführung (erkennbar durch Server-Side-Rendering-Indikatoren)
Honeypot-Links:
Unsichtbare Links (z. B. display: none oder weißer Text auf weißem Hintergrund), die von echten Nutzern nie angeklickt werden. Scraper, die alle Links verfolgen, verraten sich durch Zugriff auf diese Honeypot-URLs.
Browser-Fingerprinting: Analyse von Browser-Eigenschaften (Canvas-Fingerprint, WebGL, verfügbare Schriftarten, JavaScript-Engine-Besonderheiten), um Bot-Traffic von echtem Nutzer-Traffic zu unterscheiden.
CAPTCHA: Herkömmliche (reCAPTCHA v2) oder verhaltensbasierte CAPTCHAs (reCAPTCHA v3, hCaptcha) als Zugangsbarriere für Bots. Moderne Scraping-Services können viele CAPTCHAs durch CAPTCHA-Solving-Dienste umgehen (menschliche Löser für ~$2 pro 1000 CAPTCHAs).
Abwehrmaßnahmen
| Maßnahme | Aufwand | Wirksamkeit |
|---|---|---|
| Rate-Limiting nach IP | Gering | Mittel (Proxy-Pools umgehen es) |
| Bot-Detection (Cloudflare, PerimeterX) | Mittel | Hoch |
| CAPTCHA | Mittel | Mittel (CAPTCHA-Solver) |
| JavaScript-Rendering-Pflicht | Gering | Mittel |
| Honeypot-Links | Gering | Hoch für einfache Scraper |
| API-Keys für strukturierten Zugriff | Mittel | Hoch (schafft Accountability) |
| Browser-Fingerprinting | Hoch | Hoch |
| Dynamic Content Obfuscation | Hoch | Mittel-Hoch |
Empfehlung: Die effektivste Strategie kombiniert Bot-Detection-Services (Cloudflare Bot Management, Akamai Bot Manager), Rate-Limiting und Honeypot-Links. Eine vollständige Verhinderung ist nicht möglich, aber die Wirtschaftlichkeit für Scraper kann so stark verschlechtert werden, dass sie auf einfachere Ziele ausweichen.
Web Scraping im OSINT-Kontext
Im Kontext von Open Source Intelligence (OSINT) ist Web Scraping ein zentrales Werkzeug:
Angreifersicht:
- E-Mail-Adressen von Unternehmenswebseiten für Phishing-Kampagnen sammeln
- Mitarbeiterprofile von LinkedIn für Social-Engineering-Angriffe extrahieren
- Job-Ausschreibungen analysieren, um Technologiestack und Schwachstellen zu identifizieren
- Preise, Produktdaten und Geschäftsinformationen für Wettbewerber-Intelligence
Defensive Nutzung:
- Überwachung der eigenen externen Angriffsfläche (welche Daten über das Unternehmen öffentlich zugänglich sind)
- Brand-Monitoring: Überwachung von Phishing-Domains, die den Firmennamen imitieren
- Threat Intelligence: Monitoring von Darknet-Foren und Pastebin-Diensten auf Leaks
Penetrationstest: Im Rahmen von OSINT-Phasen bei Penetrationstests wird Web Scraping zur Informationssammlung eingesetzt - immer mit ausdrücklicher Genehmigung des Auftraggebers.
Fazit
Web Scraping ist technisch eine neutrale Fähigkeit, deren Legalität und Ethik vom konkreten Anwendungsfall abhängen. Für Unternehmen ist es wichtig, die eigene Angriffsfläche aus Scraper-Perspektive zu verstehen - welche Daten sind öffentlich zugänglich, welche davon könnten für Phishing, Social Engineering oder Wettbewerbs-Intelligence missbraucht werden? Gleichzeitig sollten Websites mit Bot-Detection-Maßnahmen geschützt werden, um Datenmissbrauch zu erschweren und regulatorische Risiken durch unerwünschte Verarbeitung personenbezogener Daten zu minimieren.
Quellen & Referenzen
- [1] EuGH C-238/20 - Scraping und Datenbankschutz (Sulafikari) - Europäischer Gerichtshof
- [2] BGH I ZR 135/12 - Datenbankschutz (Freunde finden) - Bundesgerichtshof
- [3] DSGVO Art. 6 - Rechtmäßigkeit der Verarbeitung - DSGVO-Gesetz.de
- [4] OWASP: Automated Threats to Web Applications - OWASP Foundation
Fragen zu diesem Thema?
Unsere Experten beraten Sie kostenlos und unverbindlich.