167884

Alles über Scraping

26.06.2008 | 12:55 Uhr |

Das Web bietet eine enorme Vielfalt an Wissen, Unterhaltung und Information. Mit einfachen Mitteln können Sie diese Inhalte abgreifen und für Ihre eigenen Zwecke nutzen. Wir sagen, wie's funktioniert.

Ein neuer Name für Methoden, die das Web seit Jahren kennt und die sich zunehmend verbreiten: Scraping. Im Prinzip geht es beim "Abkratzen" von Web-Seiten darum, dynamische Daten von einer Site abzuholen und in einer Anwendung oder einer eigenen Seite neu aufzubereiten. Anders als beim Abgreifen statischer Inhalte mit Tools wie Curl oder Wget liegt der Fokus hier auf dynamisch wechselnden Inhalten. Dabei bildet das intelligente Zusammenmischen von bereits bestehenden Web-Daten (Google, Flickr, Youtube, Amazon) auf neuen Sites ("Mashups") den professionellen Aspekt von Scraping.

Das Motiv ist altbekannt: Fremde Inhalte nutzen
Unser Beitrag skizziert einige Beispiele, wie auch normale Anwender von Scraping-Methoden profitieren können. Denn das Bestreben, Web-Inhalte anders zu mischen, als es der ursprüngliche Autor vorsah, ist nicht neu: Kaum hatte Netscape Frames erfunden, gab es Web-Autoren, die fremde Web-Seiten in die eigene Navigation einbauten. Als Gegenmaßnahme führten deren Autoren zuweilen Schaltflächen oder Links ein, mit dem man sich "aus einem Frame befreien" konnte, also die Seite in einem eigenen Fenster öffnen. Der Inhalt erscheint dann also wieder auf der Originalseite. Andere Einsatzgebiete bestanden etwa darin, Suchformulare in die eigene Homepage einzubinden. Das sehen die Betreiber der zugehörigen Suchmaschinen wiederum recht gerne und stellen den zugehörigen Code meist unkompliziert in den Hilfe-Seiten bereit. Bei diesen Beispielen handelt es sich um eine Vorform von Scraping: Ähnlich wie beim Kommandozeilenprogramm Wget, das ganze Websites rekursiv auf die Platte ziehen kann, sind diese Methoden auf Link-Verfolgung durch komplette URLs angewiesen. Und diese Technik hat ihre Grenzen: Dynamisch generierten Inhalt finden Sie weder im Google-Cache noch können Sie diesen erzeugen, wenn Sie eine Web-Seite per URL in einen Ihrer Frames einbinden. Beim Scraping geht es darum, dynamische Inhalte zu verwenden, die Sie nicht direkt per URL erreichen können, sondern die erst per Script nach dem Ausfüllen von Formularen erzeugt werden. So enthält etwa der "Embed"-Code eines Youtube-Videos dessen komplette URL. Diese alleine würde immer auf die Youtube-Seite führen - erst durch Scraping erreichen Sie, nur den Player einzubinden.

Beispiel Youtube: Hier ist Scraping erwünscht
Viele Web-Sites unterstützen Scraping aktiv und bieten dafür sogar offene Schnittstellen: So macht es Ihnen etwa Youtube leicht, dessen Videos auf Ihrer eigenen Web-Seite einzublenden: Sie klicken einfach in das Feld "Embed", kopieren den Code und fügen diesen in Ihren HTML-Code ein - fertig. Alle Beteiligten haben etwas davon: Ihre Seite bekommt etwas Pepp, Youtube andererseits kostenlose Werbung. Anders als bei einem Web-Link, bei dem Sie den Benutzer ganz auf die Youtube-Seite verweisen müssten, präsentieren Sie den Inhalt auf Ihrer Seite - und zwar nur den relevanten Teil: Kommentare und ähnliches Beiwerk lassen Sie weg, der "Embed"-Code bindet nur den Player ein. Youtube hat demzufolge auch keinen Einfluss, in welchem Zusammenhang Sie einen Clip präsentieren. Nur der Clip-Eigentümer kann das Einbetten verbieten, hat aber nur die Wahl zwischen "Ja" und "Nein": Detailliertere Rahmenbedingungen - etwa, das Video generell schon, in bestimmten Zusammenhängen aber nicht zu zeigen - kann er nicht vorgeben.

Echtes Scraping: Der Besitzer wird nicht gefragt
Youtube, Google Maps oder auch diverse Wetterdienste sind Beispiele für Anbieter, die ihre Inhalte gerne hergeben. Der Reiz besteht für viele allerdings darin, das unabhängig vom Einverständnis des Anbieters zu tun, etwa ein Video auch dann einzubinden, wenn sein Besitzer dies nicht will, oder angebotene Inhalte komplett anders neu zusammenzustellen. Eine Szene von Programmierern schreibt deshalb Scraper - kleine Programme, die genau dies leisten. Für Firefox gibt es das Projekt " Piggy Bank " in englischer Sprache. Die Sache ist recht aufwendig und bisher kaum über eine Versuchsphase hinaus - pro Website ist ein eigener Scraper notwendig. Weiter fortgeschritten ist das Projekt Scroogle . Es bietet einen Zugang zu Google, verwirft aber unterwegs alle Informationen, die Google über Sie sammelt, etwa IP-Adressen und Cookies. Sie führen also scheinbar eine Google-Suche aus und erhalten die Ergebnisse auch in einer zum Verwechseln ähnlichen Form präsentiert, treten aber gegenüber Google nicht in Erscheinung. Scroogle reicht nur die Suchbegriffe an das Google-Formular weiter und Ihnen die Ergebnisse zurück - eine Direktverbindung besteht nie. Ein Web-Anbieter kann Gegenmaßnahmen gegen Scraping treffen - etwa durch die von einer Grafik abzutippenden Zeichenkombinationen, die sicherstellen sollen, dass hier wirklich ein Mensch am PC sitzt. Das verhindert zwar Scraping effektiv, der Anbieter muss aber einkalkulieren, dass zu viele derartige Elemente auch menschliche Benutzer vergraulen. Ein Kompromiss besteht darin, solche Abfragen zufällig beispielsweise jedes fünfte Mal durchzuführen: Das schreckt die Benutzer nicht ab, macht aber Scraping-Versuche unzuverlässig.

0 Kommentare zu diesem Artikel
167884