Was ist Web Scraping?
Suchmaschinen wie Google nutzen schon lange sogenannte Crawler, die das Internet nach nutzerdefinierten Begriffen durchsuchen. Crawler sind besondere Arten von Bots, die Webseite nach Webseite besuchen, um Assoziationen zu Suchbegriffen zu erstellen und diese zu kategorisieren. Den ersten Crawler gab es übrigens schon 1993, als die erste Suchmaschine – Jumpstation – eingeführt wurde.
Eine Technik des Crawlings ist das Web Scraping oder Web Harvesting. Wir erklären, wie es funktioniert, wofür genau es genutzt wird und wie man es ggf. blockieren kann.
Web Scraping: Definition
Beim Web Scraping (engl. scraping = „kratzen/abschürfen“) werden Daten von Webseiten extrahiert und gespeichert, um diese zu analysieren oder anderweitig zu verwerten. Beim Scraping werden viele verschiedene Arten von Informationen gesammelt. Das können z. B. Kontaktdaten wie E-Mail-Adressen oder Telefonnummern, aber auch einzelne Suchwörter oder URLs sein. Diese werden dann in lokalen Datenbanken oder Tabellen gesammelt.
Beim Web Scraping werden Texte aus Webseiten herausgelesen, um Informationen zu gewinnen und zu speichern. Dies ist mit einem automatischen Copy-and-Paste-Prozess vergleichbar. Für die Bildsuche nennt sich der Prozess übrigens ganz treffend Image Scraping.
Wie funktioniert Web Scraping?
Beim Scraping gibt es verschiedene Funktionsweisen, doch generell wird zwischen dem manuellen und dem automatischen Scraping unterschieden. Manuelles Scraping bezeichnet das manuelle Kopieren und Einfügen von Informationen und Daten. Man kann dies mit dem Ausschneiden und Sammeln von Zeitungsartikeln vergleichen. Manuelles Scraping wird nur dann durchgeführt, wenn man vereinzelt Informationen finden und speichern will. Es ist ein sehr arbeitsaufwendiger Prozess, der selten für große Mengen an Daten angewendet wird.
Beim automatischen Scraping wird eine Software oder ein Algorithmus angewendet, der mehrere Webseiten durchsucht, um Informationen zu extrahieren. Je nach Art der Webseite und des Contents gibt es dafür eine spezielle Software. Beim automatischen Scraping werden verschiedene Vorgehensweisen unterschieden:
- Parser: Ein Parser (oder Übersetzer) wird genutzt, um Text in eine neue Struktur umzuwandeln. Beim HTML-Parsing beispielsweise liest die Software ein HTML-Dokument aus und speichert die Informationen. DOM-Parsing nutzt die clientseitige Darstellung der Inhalte im Browser, um Daten zu extrahieren.
- Bots: Ein Bot ist eine Computersoftware, die sich bestimmten Aufgaben widmet und diese automatisiert. Beim Web Harvesting werden Bots genutzt, um Webseiten automatisch zu durchsuchen und Daten zu sammeln.
- Text: Wer sich mit Command Line auskennt, kann Unix-grep-Anweisungen anwenden, um in Python oder Perl das Web nach bestimmten Begriffen zu durchforsten. Dies ist eine sehr einfache Methode, um Daten zu scrapen, erfordert allerdings mehr Arbeit als das Einsetzen einer Software.
Was es beim Web Scraping mit Python zu beachten gibt, zeigen wir in diesem Tutorial. Dabei lässt sich der Selenium WebDriver leicht integrieren, um Daten zu sammeln.
Für was wird Web Scraping genutzt?
Web Scraping wird für eine Vielzahl von Aufgaben genutzt. So lassen sich z. B. Kontaktdaten oder spezielle Informationen schnell sammeln. Im professionellen Bereich wird oft gescraped, um im Wettbewerb Vorteile gegenüber Konkurrenten zu erlangen. Durch Daten-Harvesting kann eine Firma alle Produkte eines Konkurrenten einsehen und mit den eigenen vergleichen. Auch bei Finanzdaten bringt Web Scraping einen Mehrwert: Die Information werden von einer externen Website ausgelesen, in ein Tabellenformat übertragen und können dann analysiert und weiterverarbeitet werden.
Ein gutes Beispiel für das Web Scraping ist Google. Die Suchmaschine nutzt die Technologie, um Wetterinformationen oder Preisvergleiche von Hotels und Flügen anzuzeigen. Viele der gängigen Preisvergleichsportale nutzen ebenfalls Scraping, um Informationen von vielen verschiedenen Webseiten und Anbietern darzustellen.
Ist Web Scraping legal?
Das Scraping ist nicht immer legal, und Scraper müssen zunächst einmal die Urheberrechte einer Webseite berücksichtigen. Für manche Webshops und Anbieter hat das Web Scraping durchaus negative Konsequenzen, wenn z. B. durch Aggregatoren das Ranking einer Seite leidet. Es kommt also nicht selten vor, dass ein Unternehmen ein Vergleichsportal verklagt, um das Web Scraping zu unterbinden. In einem solchen Fall entschied allerdings das OLG Frankfurt bereits 2009, dass eine Fluggesellschaft das Scraping durch Vergleichsportale erlauben muss, weil ihre Informationen schließlich frei zugänglich seien. Die Fluglinie habe allerdings die Möglichkeit, technische Maßnahmen zu installieren, um das Scraping zu verhindern.
Das Scraping ist also dann legal, wenn die extrahierten Daten frei zugänglich für Dritte im Web stehen. Um rechtlich auf der sicheren Seite zu sein, sollte man folgendes beim Web Scraping beachten:
- Das Urheberrecht einsehen und einhalten. Wenn Daten urheberrechtlich geschützt sind, dann dürfen sie nicht woanders veröffentlicht werden.
- Seitenbetreiber haben ein Recht, technische Vorgänge zu installieren, die das Web Scraping zu verhindern. Diese dürfen nicht umgangen werden.
- Wenn das Nutzen von Daten mit einer User-Anmeldung oder einem Nutzungsvertrag zusammenhängt, dann dürfen diese Daten nicht gescraped werden.
- Das Ausblenden von Werbung, allgemeinen Nutzungsbedingungen oder Disclaimern durch Scraping-Technologie ist nicht erlaubt.
Obwohl das Scraping in vielen Fällen erlaubt ist, kann es durchaus zu destruktiven oder gar illegalen Zwecken missbraucht werden. So wird die Technologie beispielsweise oft für Spam eingesetzt. Spammer können mit ihr z. B. E-Mail-Adressen sammeln und Spam-Mails an diese Empfänger senden.
Wie kann man das Web Scraping blockieren?
Um Scraping zu blockieren, können Betreiber von Webseiten verschiedene Maßnahmen ergreifen. Die Datei robots.txt beispielsweise wird eingesetzt, um Suchmaschinen-Bots zu blockieren. Folglich verhindern sie auch das automatische Scraping durch Software-Bots. IP-Adressen von Bots können ebenfalls gesperrt werden. Kontaktdaten und persönliche Informationen lassen sich gezielt verstecken. Sensible Daten wie Telefonnummern kann man außerdem in Bildform oder als CSS hinterlegen, was das Scrapen der Daten erschwert. Außerdem gibt es zahlreiche kostenpflichtige Anbieter von Anti-Bot-Services, die eine Firewall einrichten können.
Bitte beachten Sie den rechtlichen Hinweis zu diesem Artikel.