Rechtliche Aspekte – Screen- und Datenbankscraping

Beitragsautor: Eric Prokop, Februar 2017

Abstract

Das Internet ist voller Informationen und Datenbanken. Nicht nur Menschen, sondern auch Maschinen versuchen dieses Wissen zu nutzen. Ist es aber überhaupt erlaubt, Websites und Datenbanken anderer maschinell auszulesen und sie für seine eigenen Zwecke zu nutzen? Die rechtlichen Aspekte des sogenannten Screen- und Datenbankscrapings spielen beim maschinellen Zusammentragen von Informationen eine zentrale Rolle. Im Folgenden sollen die Techniken und die rechtlichen Aspekte dieser Verfahren näher beleuchtet werden.

Stichworte

Screenscraping, Datenbankscraping, Webscraping, Internetrecht, Urheberrecht, Vertragsrecht, Autonome Systeme

Motivation / Auslöser

Man will den billigsten Flug finden. Dazu nutzt man eines der unzähligen Flugvergleichsportale. Aber woher haben diese Flugsuchmaschinen die Informationen über alle passenden Flüge? In vielen Fällen werden diese Daten von den Fluggesellschaften zwar Endnutzern in Form von Websites bereitgestellt, es gibt aber keine maschinelle Schnittstelle (API) für Flugvergleichsportale. Das hat die unterschiedlichsten Gründe: Eine teure Fluggesellschaft will nicht, dass ihr Preis verglichen wird und ein Billigflieger will den Flug über seine Website verkaufen, um den Kunden durch ein kalkuliertes Websitedesign leichter für Zusatzleistungen gewinnen zu können. Die Lösung ist für die Flugvergleichsportale ganz einfach: Die Information über den Flug befindet sich im Internet. Damit kann jeder auf sie zugreifen. Das Flugsuchmaschinenportal öffnet maschinell die Website der Fluggesellschaft und „scrapt" (liest) die gewünschte Information automatisiert aus dem Website-Quellcode.

Stand der Technik

Das allgemeine Screenscraping ist ein vergleichsweise aufwändiger Prozess. Es müssen Methoden gefunden werden, die es möglich machen, den Inhalt des Computer-Bildschirms, so wie er dem Nutzer angezeigt wird, maschinell zu verarbeiten. Ein einfacher Ansatz hierbei ist, „Screenshots" – also Momentaufnahmen des Bildschirms – zu erstellen. Diese müssen nun ausgewertet werden. Da die Information – also der Screenshot – als Bilddatei vorliegt, die relevanten Informationen aber meist Texte sind, müssen diese erst ausgelesen werden. Hierzu wird meist OCR-Software (optical character recognition) verwendet, die aus vorher definierten Bildbereichen Text ausliest. Diese Umwandlung ist sehr arbeitsintensiv und die Brauchbarkeit der erkannten Text variiert ebenfalls stark. Wesentliche Faktoren sind die Schriftart und die Sprache des zu extrahierenden Textes.

Diese Form des Screenscrapings ist allerdings in der Praxis nicht sehr relevant. Denn wenn man Screenscraping betreibt, versucht man meistens Informationen, die andere Personen zusammengetragen haben und auf ihren Websites veröffentlichen, auszulesen. Dieser besonders wichtige Fall wird auch Web- oder Datenbankscraping genannt. Da Websites eigentlich selbst schon „nur" Text sind, ist dieser Vorgang wesentlich einfacher. Um zu erklären wie ein Scraper in so einem Fall vorgeht, ist es nötig, sich erst einmal mit der grundlegenden Struktur einer Website zu befassen. Ein Webserver (Backend) nimmt die Anfrage eines Nutzers (Client) an und erstellt eine Antwort für den Nutzer (Frontend). Diese kann entweder statisch sein (jede Person bekommt die gleiche Seite) oder – was bei den meisten moderneren Websites der Fall ist – dynamisch: Der Webserver gibt nicht nur die gleiche „Vorlage" zurück, sondern kann Berechnungen (z.B. interne Datenbankabfragen) ausführen und auf die Parameter der Anfrage des Nutzers eingehen. Das was der Webserver zurückgibt, wird dann im allgemeinen Sprachgebrauch Website genannt. Dieses Frontend besteht im Normalfall aus drei wesentlichen Komponenten. HTML, das den Aufbau und den Inhalt der Website beschreibt, CSS, das das Aussehen beschreibt, und JavaScript. JavaScript ist eine vom Webbrowser interpretierte Script-Sprache, die clientseitig ausgeführt wird. Sie wird genutzt, um die Website dynamisch und funktionell erscheinen zu lassen. Befinden sich die relevanten Informationen im HTML-Teil, ist das Scrapen häufig relativ einfach, wenn aber JavaScript genutzt wird, gestaltet es sich schwieriger. Man benötigt in diesem Fall entweder selbst JavaScript-Kenntnisse, um den Code nachzuvollziehen, oder einen Scraper, der in Lage ist, JavaScript auszuführen.

Da HTML eine Sprache zur Strukturierung digitaler Dokumente ist, ist es sehr einfach, Informationen auszulesen. Anhand eines Beispiels lässt sich dies gut erkennen. Man betrachte folgende Website, die eine Auflistung von Rezepten bereitstellt: „https://www.lowcarbrezepte.org/". Alle relevanten Unterseiten sind gleich aufgebaut: „https://www.lowcarbrezepte.org/rezepte/gemuese.html", „https://www.lowcarbrezepte.org/rezepte/fleisch.html", etc.

 (c) Prokop, Eric
Aufbau einer Unterseite

Auf jeder dieser Unterseiten findet sich eine Auflistung von Gerichten. Klickt man nun auf ein Gericht (z.B. https://www.lowcarbrezepte.org/rezepte/ueberbackene-haehnchenbrust-mit-tomaten.html),erhält man detaillierte Angaben zum Gericht. Will man nun eine Datenbank aller Gerichte erstellen, geht man wie folgt vor:

für jede Unterseite betrachte das div-Element mit class="items"

suche darin alle span-Elemente mit class="element element-itemlink first"

für jedes dieser Elemente füge den Wert des href-Attributes des nächsten a-Elements der Linkliste hinzu

Nun besitzt man eine Liste mit Links zu allen Gericht-Seiten. Diese lassen sich ähnlich einfach auslesen. Mit diesen Informationen könnte man nun eine eigene Datenbank befüllen oder sie beispielsweise in Form einer App anbieten. Allerdings ist man nicht der Urheber der Daten. Der rechtliche Aspekt dieses Vorgehens soll im folgenden Abschnitt diskutiert werden.

Analyse, Diskussion und Bewertung

Die nachfolgende Diskussion beschäftigt sich ausschließlich mit deutschem Recht und ist anhand von Urteilen deutscher Gerichte verfasst worden. Die häufigsten zwei Klagepunkte im Zusammenhang mit Screen- und Datenbankscraping sind die Verletzung des Urheberrechts und das Beeinträchtigen des Dienstes.

Datenbanken – auch frei zugängliche – sind urheberrechtlich geschützt. Es dürfen, ohne Zustimmung des Rechteinhabers, keine wesentlichen Teile kopiert und weiter verwendet werden. Als wesentlicher Teil gelten ca. 20% einer Datenbank. Somit dürfen nicht mehr als ca. 20% entnommen werden.

Flugpreisvergleichsportale entnehmen den Websites und Datenbaken der Fluggesellschaften zwar oft Daten, dies geschieht aber meist nur auf Anfrage eines Nutzers. Die Gesamtheit der Daten, die durch die Anfragen aller Nutzer gesammelt werden, könnte zwar als wesentlicher Teil gelten. Da die einzelnen Datensätze aber nur für den jeweils anfragenden Nutzer gesammelt werden, darf man hier nicht die Gesamtheit der Daten betrachten. Somit liegt kein Urheberrechtsverstoß vor.

Es ist aber zu beachten, dass auch das Entnehmen von Daten aus fremden Datenbanken in unwesentlichen Teilen gegen das Urheberrecht verstoßen kann. Sind die technischen Daten von Autos in einer Datenbank zusammengefasst, ist diese nur als Datenbank urheberrechtlich geschützt, die einzelnen Einträge, da sie „Fakten“ sind, aber nicht. Anders verhält es sich bei einer Datenbank aus Restaurantrezensionen. Sowohl die Datenbank als auch jeder Eintrag sind geschützt, da diese keine Fakten sind, sondern von Nutzern geschrieben wurden und somit eine „Schöpfungshöhe" aufweisen. Das Urheberrecht der Rezensionen liegt daher auch nicht beim Datenbankbetreiber, sondern bei dem entsprechenden Nutzer. Dieser gestattet zwar dem Datenbankbetreiber die Veröffentlichung und Speicherung der Rezensionen auf seiner Website, das bedeutet aber nicht, dass der Nutzer einer Veröffentlichung an anderer Stelle –  beispielsweise durch den Scraper – auch zustimmt.

Beeinträchtigung eines Dienstes liegt beispielsweise dann vor, wenn der Scraper zu viel Traffic generiert und die Serverauslastung des Websitebetreibers maßgeblich beeinflusst. Da beim Scrapen meist aber nicht mehr Anfragen als von normalen Nutzern auch benötigt werden, ist dies fast nie der Fall.

Schutzmaßnahmen gegen Screenscraping gibt es wenige. Oft argumentieren Gerichte, dass Websitebetreiber Informationen gerade deshalb im Internet veröffentlichen, damit sie gefunden und genutzt werden. In den Allgemeinen Geschäftsbedingungen (AGB) könnte ein Websitebetreiber Screenscraping untersagen. Dies ist allerdings nur rechtlich bindend, wenn der Scraper den AGB auch zustimmt. Ein Beispiel: Nach dem Login auf einer Website erhält man Zugriff auf für die Öffentlichkeit unzugängliche Unterseiten. Beim Registrieren, um das Login-Recht zu erhalten, musste man den AGBs, welche Scraping verbieten, zustimmen. Diese sind im geschützten Bereich nun einzuhalten, das heißt, man darf hier kein Screenscraping betreiben. Um aber Zugriff auf nicht-geschütze Bereiche zu erhalten,muss man sich nicht registrieren und somit den AGB auch nicht zustimmen. Daher sind sie nicht bindend.

Fazit

Das Internet ist ein ständig wachsendes Informationsnetz. Diese Informationen sind längst nicht mehr nur für Menschen interessant. In Zeiten von künstlicher Intelligenz und selbstlernenden Maschinen muss es als universelle Wissensdatenbank auch eben von diesen verstanden werden können. Um das zu erreichen, sind die Techniken des Screen- und Datenbankscrapings essenziell. Um keine Eigentumsrechte an Daten zu verletzen, sind rechtliche Grundlagen zwingend notwendig. Um einen raschen Fortschritt der Technik zu ermöglichen, müssen sie aber international vereinheitlicht werden, da Webserver und ihre Betreiber weltweit verteilt sind. Dass die Bedeutung des Themas – technisch wie auch rechtlich – in den nächsten Jahren noch deutlich zunimmt, erscheint daher unausbleiblich.

Quellen

Dieser Beitrag entstand nach einem Vortrag im Rahmen der Ringvorlesung „Forum Software und Automatisierung“ am IAS.

Vortragsdatum: 02.02.2017
Vortragender: Dr. Carsten Ulbricht, Bartsch Rechtsanwälte
Vortragstitel: Rechtliche Aspekte in der Automatisierung: Urheberrecht, Vertragsrecht, Autonome Systeme

Zum Seitenanfang