Web Scraping
Web Scraping (auch Scraping oder Screen Scraping) bezeichnet das Auslesen von Informationen und Daten im Web. Kennzeichnend ist dabei, dass in der Regel Inhalte und Daten ausgelesen werden, die für den menschlichen Nutzer gedacht sind. Inhalte werden dabei zunächst gelesen und dann in einer strukturierten Form wieder ausgegeben, wie zum Beispiel in einer Tabelle. Anwendungsbeispiele für für Web Scraping sind bspw. für Rich Snippets, der Knowledge Graph oder die Ranking-Daten von SEO-Tool Anbietern. Scraping wird häufig auch für illegitime Einsatzzwecke wie dem Sammeln von E-Mail Adressen zwecks Spam oder zum Aufbau unrechtmäßiger Datensammlungen eingesetzt.
Inhaltsverzeichnis
Funktionsweisen
Es gibt verschiedene Techniken, mit denen Scraping durchgeführt werden kann. Allgemein dient das Scraping dem Data Mining, also der Förderung von Daten. Mit Hilfe von Programmen, Algorithmen und Statistik, werden Informationen gesammelt und dann ausgewertet.
Manuelles Scraping
Die älteste Methode ist das menschliche Kopieren und Einfügen, bei dem Informationen manuell eingelesen und zugeordnet werden. Diese Methode erweist sich im Vergleich zu dem maschinellen Auslesen zwar als arbeitsaufwendiger, jedoch kann der Mensch Blockierungsmaßnahmen umgehen. Für die Verarbeitung von sehr vielen Daten ist das manuelle Auslesen allerdings nicht empfehlenswert.
Abgleich von Text Mustern
Mit den UNIX grep Anweisungen können Dokumente nach bestimmten Begriffen durchsucht werden. Es kann in Programmiersprachen wie Python und Perl eingesetzt werden und ist eine simple Möglichkeit, um Daten auszulesen.
Parser
Ein Parser (zu Deutsch Übersetzer) dient dazu, einen Text in eine neue Struktur umzuwandeln. Das Computerprogramm liest Daten ein, zerlegt diese und gibt ihre Komponenten in einem geordneten System wieder aus. Beim HTML Parsing geschieht dasselbe. Der Parser erkennt Muster in den HTML Dokumenten und extrahiert Informationen. Neben dem HTML Parsing gibt es noch das DOM Parsing, bei dem Daten vom Web Browser wie zum Beispiel Internet Explorer oder Chrome hinzugezogen werden.
Bots/Vertikale Gruppierung
Bei der vertikalen Gruppierung durchforsten Bots verschiedene Webseiten, ohne dass Menschen direkt eingreifen müssen. Jeder Bot durchsucht eine Seite komplett und die Informationen werden dann zusammengetragen.
Erkennung von semantischen Zusammenhängen
Mikrodaten und Structured Data Mark Up gewinnen immer mehr an Wichtigkeit. Google zum Beispiel setzt verstärkt auf das Scraping von Mikrodaten, um ihre Suchergebnisse genauer und benutzerfreundlicher zu machen. Dabei werden anhand von vorgegebenen Schemata Informationen extrahiert.
Verwendung
Scraping kann eine multide Anzahl von Absichten verfolgen. So kann man durch das Einlesen Kontaktdaten, Angebote von Konkurrenten und weitere Informationen extrahieren. Google nutzt Scraping zum Beispiel für die Erstellung von Rich Snippets und Knowledge Graphs. Weitere Beispiele für Scraping:
- Content von Wetterseiten werden auf Google geteilt
- Vergleichsportale
- Kopieren von Wikipedia Artikeln auf die eigene Seite
Tools
Daten können auch ohne Tool extrahiert werden. Durch manuelle Arbeit oder Web-Scraping Codes können Informationen ausgelesen werden. Wer aber wenig Ahnung von Computer-und Auszeichnungssprachen hat und auch nicht viel Arbeitsaufwand betreiben möchte, kann auf ein Web Scraping Tool zurückgreifen. Diese gibt es sowohl kostenlos als auch zum Erwerb. Viele dieser Softwares können Daten Strukturen erkennen, wodurch die Ergebnisse den Verwendungsabsichten angepasst werden könnnen.
Vorteile von Scraping
Durch Scraping kann die Usability gesteigert werden. Informationen müssen nicht mehr umständlich von mehreren Seiten vom Nutzer selber zusammengetragen und verglichen werden. Besonders Google setzt auf Scraping, um Informationen übersichtlich für den Nutzer darzustellen. So lassen sich zum Beispiel Preise auf einen Blick bei Google Shopping vergleichen. Es ist bei einigen Suchanfragen möglich, seine Antwort zu bekommen, ohne auf ein einziges Suchergebnis zu klicken. Sucht man beispielsweise nach “Wetter” so erscheinen alle notwendigen Informationen bei Google selber, wodurch dem User der Besuch einer Webseite erspart wird.
Nachteile von Scraping
Scraping wird auch für Spam Zwecke ausgenutzt, wie zum Beispiel zum Einsammeln von E-Mail Adressen, an welche dann Spam geschickt wird. Das Einlesen von Daten im Netz ist vor allen Dingen dann problematisch, wenn dies unrechtmäßig geschieht. Grundsätzlich ist das Scraping zwar nicht illegal, jedoch kann es für diese Zwecke missbraucht werden. Wenn die extrahierten Daten keinem urheberrechtlichen Schutz erhalten, ist es legal, diese weiter zu verwenden. Onlineshops können zum Beispiel die Preise ihrer Konkurrenten sammeln und vergleichen um so ein besseres Angebot auszugeben.
Eine weitere Gefahr im Scraping besteht im Auslesen von sensiblen Daten, wie Telefonnummern, Adressen oder E-Mail Adressen. Obwohl dieses nicht legal ist, gibt es immer noch zahlreiche Fälle, in denen Scraping für solche Zwecke genutzt wird.
Blockierung von Web Scraping
Um Scraping zu blockieren, können verschiedene Maßnahmen getroffen werden. Die erste Methode verhindert vor allen Dingen das Automatisierte Lesen durch Bots. Dafür werden in der robots.txt Datei verschiedene Bots blockiert, wodurch ein Auslesen der Informationen zumindest für Tools unmöglich wird. Da auch viele sensible Daten gesammelt werden können, bietet es sich an, wichtige Informationen wie E-Mail Adressen zu maskieren. Durch eine Weiterleitung in der php Datei kann diese nicht mehr von Bots gelesen werden. Auch Telefonnummern können geschützt werden indem die Nummer in einem Bild angegeben wird oder per CSS angegeben werden. Dies bringt zwar den Nachteil mit sich, dass normale Besucher die Nummer nicht einfach kopieren können, aber so sind die Informationen zumindest vor Bots geschützt.
Kostenpflichtige Anti-Bot Services bieten auch einen Schutz vor dem Scraping. Diese richten eine Firewall ein, die andere bots daran hindern, eine Seite zu durchforsten. Weiterhin können die IP Adressen von Bots gefunden und blockiert werden.
Um die Duplizierung von Inhalten durch Scraping zu verhindern, können Webmaster in Google Analytics Alerts einrichten. Dann werden Sie benachrichtigt, falls Content kopiert wurde. Dies ist wichtig, da es in einigen Fällen zur Abwertung von Webseiten führt.
Häufige Fragen
Was ist Scraping?
Das Scraping ist im Web für das Auslesen von Daten verantwortlich. Anschließend werden sie in strukturierter und für den Nutzer gut lesbarer Form ausgegeben. Ein Beispiel hierfür sind Tabellen.
Wofür wird Scraping genutzt?
Durch Scraping können beispielsweise Kontaktdaten oder Content von Konkurrenten extrahiert werden. Von Google wird Scraping für die Erstellung von Rich Snippets und Knowledge Graphs verwendet.
Was sind die Vorteile von Scraping?
Mittels des Scrapings kann die Usability für Nutzer enorm gesteigert werden. Google kann somit Inhalte wesentlich übersichtlicher und kompakter darstellen, sodass User die gewünschten Informationen auf einen Blick erhalten.
Quellen:
https://de.onpage.org/wiki/Scraping
https://en.wikipedia.org/wiki/Web_scraping
https://de.wikipedia.org/wiki/Screen_Scraping