Scraping
Was ist Scraping?
Scraping ist eine Bezeichnung für verschiedene Methoden, mit denen Informationen aus dem Internet gesammelt werden. Im Allgemeinen wird für das Scraping, auf Deutsch “kratzen” oder “abkratzen”, eine spezielle Software verwendet, mit der bestimmte Informationen von verschiedenen Webseiten ausgelesen werden können. Eine andere Bezeichnung für das Scraping von Webseiten ist Web Scraping.
Das Kopieren einer Kontaktliste aus einem Webverzeichnis ist ein Beispiel für Scraping. Das Kopieren und Einfügen von Details von einer Webseite in eine Excel Tabelle funktioniert jedoch nur für eine kleine Datenmenge und erfordert bei manueller Durchführung viel Zeit. Um größere Datenmengen zu sammeln, ist eine Automatisierung mittels eines Scrapers erforderlich. Ein Scraper ist ein Programm, das auf Webseiten zugreift, Daten aus dem Inhalt extrahiert, den Inhalt herunterlädt und dann die Daten in einer Datei oder einer Datenbank speichert.
Anwendungsbereiche für Scraping
Wie funktioniert ein Scraper?
Ein Scraper ist ein Softwareprogramm oder -skript, mit dem in der Regel textbasierte und als HTML formatierte Inhalte mehrerer Webseiten heruntergeladen und anschließend extrahiert werden. Scraper beinhalten mehrere Module, die verschiedene Funktionen ausführen. Die Komponenten eines Scrapers sind
- “fokussiertes” Web Crawler Modul
- Extraktor oder ein Parser Modul
- Datentransformations- und Reinigungsmodul und
- Datenserialisierungs- und Speichermodul
Ein Scraper navigiert zur Zielwebsite, indem HTTP oder HTTPS Anforderungen an URLs gesendet werden, die einem bestimmten Muster oder einer bestimmten Paginierungs Logik folgen. Der Crawler lädt die Antwortobjekte als HTML Inhalt herunter und übergibt diese Daten an den Extraktor. Der abgerufene HTML Code wird mithilfe eines Parsers verarbeitet, der die erforderlichen Daten aus dem HTML Code in eine semi-strukturierte Form extrahiert. Dabei werden je nach Aufgabe reguläre Ausdrücke, eine HTML Analyse, DOM Parsing und eine automatische Extraktion mit künstlicher Intelligenz eingesetzt.
Die mit einem Parser extrahierten Daten haben nicht immer das Format, das für die sofortige Verwendung geeignet ist. Die meisten der extrahierten Datasets benötigen eine Art von “Säuberung” oder “Transformation“. Reguläre Ausdrücke, String Manipulation und Suchmethoden werden verwendet, um diese Reinigung und Transformation durchzuführen. Extraktion und Transformation werden normalerweise zusammen in einem einzigen Modul durchgeführt, wenn der Scraper keine Daten von einer großen Anzahl vonseiten extrahiert.
Sobald die Daten bereinigt sind, müssen diese gemäß den benötigten Datenmodellen serialisiert werden. Dies ist das letzte Modul eines Scraper, das Daten in einem Standardformat ausgibt und die Daten in Datenbanken wie Oracle, SQL oder MongoDB als JSON / CSV Dateien speichert oder zur Speicherung an Data Warehouses übergibt.
Screen Scraping
Screen Scraping ist eine weitere Form des Scrapings und wird als dessen Ursprung angesehen. Als Screen Scraping wird das Sammeln von Bildschirmdaten aus einer Anwendung und deren Übersetzung für eine andere Anwendung bezeichnet. Dabei handelt es sich in der Regel um eine legitime Nutzung, die auch als Terminal Emulation bezeichnet wird. Diese Technik wird beispielsweise eingesetzt, wenn eine Legacy Anwendung weiter genutzt werden soll oder muss, es aber wegen fehlender Verfügbarkeit von Quellcode, Programmierern oder Dokumentation nicht möglich ist, die Anwendung neu zu schreiben oder zu aktualisieren.
In einem solchen Fall besteht die einzige Möglichkeit, die Anwendung weiter zu verwenden, darin, eine Software zu schreiben, um die Anwendung für eine aktuellere Benutzeroberfläche zu übersetzen. Die Software erfasst die Bildschirmeingabe des Nutzers, gibt sie an die ursprüngliche Anwendung zur Verarbeitung und sendet die Daten von der Anwendung an den Nutzer zurück, um sie auf dem Bildschirm des Nutzers anzuzeigen. Zum Beispiel, wenn eine Anwendung auf einem IBM Mainframe läuft, der Nutzer aber einen PC verwendet.
Entwicklung
Der Ruf des Web Scraping hat sich in den letzten Jahren deutlich verschlechtert, und zwar aus guten Gründen. Es wird zunehmend für geschäftliche Zwecke eingesetzt, um sich einen Wettbewerbsvorteil zu verschaffen. Es steht oft ein finanzielles Motiv dahinter. Dies geschieht meist unter völliger Missachtung der Urheberrechtsgesetze und der Nutzungsbedingungen der betroffenen Webseiten.
Zudem führen Scraper viel mehr Anfragen pro Sekunde durch als normale User. Dies kann zu unerwarteten Belastungen der Webseiten führen. Schließlich könnten durch Scraper verbotene Operationen auf Webseiten durchgeführt werden. Wie beispielsweise die Umgehung der Sicherheitsmaßnahmen, sodass Daten automatisch heruntergeladen werden, die sonst nicht zugänglich wären.
Sie haben noch Fragen?