Konzept zur automatisierten Informationsabfrage und Datenextraktion mittels Web Crawler für Vergleiche

Konzept zur automatisierten Informationsabfrage und Datenextraktion mittels Web Crawler für Vergleiche
Quelle: "website-1624028" by Riyadhinfotech is marked with CC0 1.0. https://www.flickr.com/photos/147414835@N05/29725701411

Kontext

Das Internet ist voller öffentlich verfügbarer Informationen, welche für geschäftliche Zwecke genutzt werden können. Um diese Daten jedoch zu nutzen, müssen die unstrukturierten Daten aus Internetdokumenten strukturiert und extrahiert werden. Um dies zu automatisieren kann ein Web Crawler genutzt werden, dabei können Websites untersucht werden und dabei auch über Hyperlinks auf weitere Unterseiten zugreifen und danach die gewünschten Informationen extrahieren. Diese Technologie ermöglicht eine Sammlung solcher Informationen in nahezu Echtzeit. Für solche Web Crawler gibt es verschiedene Werkzeuge, welche eingesetzt werden können. Diese reichen von kostenpflichtigen Software as a Service Lösungen bis zu Open Source Softwarebibliotheken, welche man selbst programmieren und konfigurieren kann.

Die verschiedenen Technologien unterscheiden sich im Funktionsumfang und Anwendungsgebiet. Manche eignen sich zur Erfassung grosser Mengen gleichartiger Daten auf statischen Websites, während andere eine hohe Interaktion mit der Website ermöglichen. Auch die Komplexität diese zu implementieren und anzuwenden unterscheidet sich je nach Lösung. In der Praxis muss immer abgewogen werden welche Lösung sich für das entsprechende Einsatzgebiet eignet.

Besonders nützlich sind solche Technologien bei der Erfassung von Preisdaten und der Analyse dieser, deshalb werden solche Technologien auch oft in der Statistik, Datenanalyse und bei Preisvergleichen eingesetzt. Bei Preisvergleichsportalen in der Schweiz wird im Gebiet der Handy Abos aber nur selten von dieser Art der Informationsextraktion Gebrauch gemacht. Daten werden oft manuell erfasst oder über Schnittstellen eingepflegt.

Ziel/Aufgaben

Das Ziel dieser Bachelorthesis ist es verschiedene solche Technologien zu vergleichen und festzustellen, welche sich in der Anwendung bei Preisvergleichen von Produkten, welche über unterschiedliche Variablen verfügen am besten eignen. Hierfür wurde der Anwendungsfall der Handy Abos gewählt.

Dabei soll ein umfassender Vergleich der Lösungen mit Fokus auf den Einsatz bezüglich Nutzerfreundlichkeit, Kosten, Wartbarkeit und Erweiterbarkeit geschaffen werden. Auch wird die Qualität der auf diesem Weg gesammelten Daten untersucht und mit den Daten von Vergleichsportalen und den Originaldaten verglichen. Das Ziel ist herauszufinden, wie dort eine möglichst hohe Datenqualität erreicht werden kann.

Methoden

Anhand einer Literaturrecherche wurden Rahmenbedingungen und Vorgehensweisen geklärt und aufgearbeitet. Ausserdem wurden Begriffe und die darunterliegenden Konzepte analysiert.

Die Marktsituation und das Automatisierungspotenzial der Informationsabfrage für Vergleiche wurden angeschaut. Dabei wurde auch betrachtet, wie Preisvergleichsportale im Anwendungsfall funktionieren und mit welchen Herausforderungen diese konfrontiert sind.

Mehrere verfügbare Werkzeuge wurden auf verschiedenen Seiten von Mobilfunkanbietern eingesetzt und es wurden zuerst möglichst einfach zu erfassende Informationen extrahiert. Dadurch konnte geschaut werden, ob diese überhaupt anwendbar sind und wie es sich mit der Nutzerfreundlichkeit, den Kosten, der Wartbarkeit und der Erweiterbarkeit verhält. Die Web Crawler wurden laufend angepasst und es wurde versucht mehr Daten zu erfassen welche für einen Nutzer und Anbieter eines Vergleichs einen Mehrwert bieten könnten.

Ergebnisse

Der Markt der Vergleichsportale steht unter regulatorischen Druck und es wird den Portalen von verschiedenen Seiten Intransparenz vorgeworfen. Ausserdem steigt der Konkurrenzdruck und neue Technologien erobern den Markt. Dies hat Einsparungen zur Folge und dort könnten Automatisierungstechnologien einen Mehrwert bieten.

Die Umsetzung von Web Crawling auf Websites von Mobilfunkanbietern wird durch die komplexe Gestaltung dieser erschwert. Werkzeuge, bei welchen man mit Point-and-Click die gewünschten Informationen extrahieren kann, eignen sich besonders, wenn möglichst viele ähnliche Daten wie Namen und Preise abgefragt werden sollen. Einfache Web Crawling Softwarebibliotheken wie Request und Cheerio oder auch umfangreiche solche wie Scrapy eignen sich um mit einer hohen Geschwindigkeit statische Seiten ohne viel JavaScript Inhalte zu durchsuchen. Bei dynamischen Websites mit viel JavaScript Inhalt und wenn viel Interaktion nötig ist, sollte Browserautomatisierungssoftware wie Puppeteer, Playwright oder Selenium eingebunden werden. Puppeteer lässt sich auch eigenständig für Web Crawling einsetzen.

Die Auswahl des geeigneten Werkzeugs ist abhängig von der Menge der benötigten Informationen. Falls man beim Anwendungsfall beispielsweise nur die Preise und Namen erfassen möchte lässt sich dies mit den meisten Tools zuverlässig tun. Sobald jedoch mehr Informationen beispielsweise zu Roaminggebühren auf weiteren Websites erfasst werden, müssen weitere Tools eingebunden werden. Diese sind auch in der Implementierung und Bedienung komplexer. Die Verlässlichkeit und Wartbarkeit gestaltet sich bei Werkzeugen ohne Zugriff auf der Skriptebene wie bei den untersuchten Software as a Service Werkzeugen schwierig. Bei Programmbibliotheken sind jedoch Programmierkenntnisse nötig aber nur mit diesen lässt sich zuverlässig auf die gewünschten Informationen zugreifen.

Die Kosten eine Lösung zu kaufen oder der Aufwand diese selbst zu programmieren müssen anhand der in einem Unternehmen vorhandenen Kenntnisse abgewogen werden. Das Auslagern einer solchen Entwicklung kann zur Folge haben das die Lösung plötzlich nicht mehr funktioniert. Dadurch sind die Wartbarkeit und auch Verlässlichkeit einer Auslagerung niedrig.

Im Vergleich zur manuellen Erfassung kann die automatisierte Erfassung mittels Web Crawler eine höhere inhaltliche Korrektheit, Aktualität und Geschwindigkeit aufweisen.