Zurück zum Blog
Leitfäden
Suciu Dan19. Oktober 202210 Min. Lesezeit

Web Scraping mit R: Die ultimative Anleitung mit Schritten

Web Scraping mit R: Die ultimative Anleitung mit Schritten

Die Programmiersprache R: Eine kurze Definition

Die Programmiersprache R: Eine kurze Definition
Screenshot einer Tutorial-Seite zur Programmiersprache R mit einer Abbildung und einer Navigationsleiste

  Bildquelle:

Bevor Sie sich mit den Grundlagen des Web-Scrapings in R befassen, ist es wichtig, sich zunächst einige Kenntnisse über die Programmierung mit R anzueignen. R ist eine bekannte Open-Source-Programmiersprache, mit der sich Daten einfach und effektiv extrahieren lassen. Sie wurde 1993 erstmals vorgestellt und bereits 1995 in eine Open-Source-Plattform umgewandelt.

Im Jahr 2000 erschien auch die allererste Beta-Version von „R“, die von Robert Gentleman und Ross Ihaka entwickelt wurde. Die Programmiersprache „R“ wurde in erster Linie geschaffen, um alle Ideen originalgetreu und schnell in Software umzusetzen. Als eine der am weitesten verbreiteten Programmiersprachen ist „R“ unter allen Datenwissenschaftlern bekannt, und einige der bekanntesten Anwendungsfälle dieses Tools zum Datenscraping sind:

  • Maschinelles Lernen
  • Bankwesen
  • E-Commerce
  • Finanzen
  • Verschiedene andere Branchen, die riesige Datenmengen nutzen.

Im Vergleich zu SPSS und SAS gilt R als weit verbreitetes Analysewerkzeug. Es verfügt über eine aktive Community mit rund 2 Millionen Nutzern. Wenn man sich andere Unternehmen ansieht, die R zum Scraping von Daten einsetzen, und wie sie dabei vorgehen, stellt man Folgendes fest:

  • Trulia – Vorhersage aller Immobilienpreise sowie der lokalen Kriminalitätsraten
  • Facebook – Status und Netzwerkgrafik aktualisieren
  • Foursquare – Nutzung für die Empfehlungsmaschine
  • Google – Vorhersage der Konjunkturentwicklung und Steigerung der Effizienz von Online-Werbung.

Dennoch steht „R“ im Vergleich zu anderen Sprachen derzeit in Konkurrenz zu Python. Das liegt daran, dass beide über aktive Communities verfügen und Tools für das Web-Scraping bieten. Den Unterschied werden Sie jedoch sicherlich erkennen, wenn Sie sich die Zielgruppe ansehen. Python zeichnet sich durch eine leicht zu erlernende Syntax sowie erstklassige Funktionen aus.

Auch wenn der Einsatz von R zum Web-Scraping einer Webseite auf den ersten Blick ziemlich einschüchternd wirken mag, liegt der Schwerpunkt dieser Sprache doch auf der statistischen Analyse. Sie bietet zudem eine riesige Auswahl an integrierten Tools zur Datenvisualisierung und -analyse, die das Web-Scraping erheblich vereinfachen, da es sich hierbei um Projekte handelt, die eine enorme Datenmenge erfordern.

Web-Scraping in R: Wichtige Punkte, die Sie beachten sollten

Web-Scraping in R: Wichtige Punkte, die Sie beachten sollten

Wenn Sie sich entschlossen haben, Web-Scraping in R durchzuführen, gibt es einige Dinge, die Sie beachten sollten.

  • Grundlagen von Web-Scraping und HTML verstehen

Wenn es um Web-Scraping mit R geht, muss man zunächst die Grundlagen des Web-Scrapings und von HTML erlernen und verstehen. Man muss lernen, wie man über den Browser auf den HTML-Code zugreift, und sich mit allen grundlegenden Konzepten von HTML und Markup-Sprachen vertraut machen. Dies wird sicherlich den Weg für das Scraping von Daten ebnen.

Sobald Sie diese Grundlagen beherrschen, wird das Web-Scraping mit R viel einfacher, als Sie denken. Hier sind einige Punkte, die Ihnen beim Web-Scraping mit R helfen werden.

  • HTML-Grundlagen

Seit Tim Berners-Lee sie Ende der 80er Jahre erstmals vorschlug, bildet die Idee einer Plattform aus Dokumenten [dem World Wide Web], die über HTML miteinander verbunden sind, die Grundlage jeder Webseite und des Internets selbst. Wenn Sie eine Website in den Browser eingeben, lädt dieser die Seite herunter und stellt sie dar.

Aber wie genau funktioniert das Web-Scraping mit R? Nun, bevor du irgendetwas unternimmst, musst du zunächst herausfinden, wie genau die Webseite aufgebaut ist und woraus sie besteht. Du wirst feststellen, dass eine Webseite zwar schöne Bilder und Farben enthält, das zugrunde liegende HTML-Dokument jedoch im Wesentlichen aus Text besteht.

Das HTML-Dokument ist die technische Darstellung einer Webseite, da es den Browsern mitteilt, welche HTML-Elemente angezeigt werden sollen und wie genau diese dargestellt werden. Das HTML-Dokument müssen Sie analysieren und verstehen, wenn Sie Daten von einer Webseite erfolgreich auswerten möchten.

  • HTML-Tags und -Elemente

When you check the HTML code, you will come across something like <title>, </title>, <body>, </body>, and many more. These are known as HTML tags, which are special markers in the HTML document. All the stages serve an important purpose, and each of them is interpreted in a different manner by the web browser.

For instance, "<title> offers a browser with the title of the web page, and the <body> provides the browser that has the primary content of the web page. Also, tags are known to be closing and opening markers that have content in-between, or they self-close the tags by themselves. But the type of style that follows depends heavily on the use case and the stage type.

Die Tags verfügen jedoch auch über Attribute, die zusätzliche HTML-Daten und Informationen liefern, die für das jeweilige HTML-Tag relevant sind. Sobald Sie sich mit den grundlegenden Konzepten der HTML-Datei, den HTML-Tabellen, der Dokumentenstruktur, den Tags und den einzelnen HTML-Elementen vertraut gemacht haben, werden Ihnen all die Aspekte, die Sie interessieren, viel besser verständlich sein.

Was ist also die wichtigste Erkenntnis hier? Nun, die HTML-Seite wird als strukturiertes Format mit einer Tag-Hierarchie betrachtet, die der Crawler im Web-Scraping-Projekt nutzt, um alle benötigten Informationen zu extrahieren.

  • Eine Webseite mit R analysieren

Nun ist es an der Zeit, mit R ein Web-Scraping auf einer Zielwebseite durchzuführen. Beachten Sie dabei eines: Sie werden nur die Oberfläche des HTML-Inhalts abgreifen; daher werden Sie hier keine Datenrahmen extrahieren, sondern den vollständigen einfachen HTML-Code ausgeben.

Wenn Sie also alle Elemente einer Webseite auslesen und überprüfen möchten, wie sie dargestellt wird, müssen Sie mit redLines() alle Zeilen des HTML-Inhalts in einer Entwicklungsumgebung abbilden, um eine Darstellung davon zu erstellen.

Nun müssen Sie „flat_html“ ausgeben, woraufhin die R-Konsole die gewünschten Ergebnisse anzeigt, die in etwa so aussehen werden:

Screenshot des HTML-Quellcodes, der einen Titel-Tag zeigt, der auf ScrapingBee verweist

Bild Quelle:

Eines solltest du dir klar vor Augen halten: Das Scraping von Websites dient lediglich der Unterhaltung, und jeder Data-Science-Experte ist sich dessen bewusst. Es wird sicherlich ein spannendes Experiment sein, und du kannst auf deinem Betriebssystem problemlos mehrere Seiten einer Website, wie beispielsweise die IMDB-Website, scrapen.

„Ganz gleich, ob Sie die Startseite oder eine einzelne Seite einer Website scrapen – wenn Sie es richtig machen, wird es ein Erfolg. Auch wenn das Scrapen von HTML-Dateien Ihnen eine riesige Datenmenge liefern mag, handelt es sich dabei nicht um ein HTML-Dokument. Das liegt daran, dass die Funktion `redLines()` das Dokument zwar korrekt liest, aber die Dokumentstruktur nicht berücksichtigt.“

Dies ist jedoch nur ein Beispiel, um Ihnen zu veranschaulichen, wie das Auslesen von Web-Inhalten mithilfe der R-Web-Scraping-Methode konkret aussieht. Der Code, den man in der Praxis verwendet, ist wesentlich komplexer. Es gibt jedoch eine Reihe von Bibliotheken, die die Arbeit mit R-Web-Scraping erheblich vereinfachen.

CSS kennenlernen

CSS kennenlernen

Während HTML die URL-Struktur und den Inhalt der Webseite festlegt, liefern CSS-Selektoren Informationen darüber, wie die Webseite gestaltet werden soll. Ohne CSS-Selektoren würde die Webseite recht schlicht aussehen. Wenn es um die Gestaltung geht, bezieht sich dies auf eine Vielzahl von Aspekten und nicht auf ein einzelnes Element.

Das Styling kann sich auf die Darstellung von HTML-Elementen oder deren Positionierung beziehen. Genau wie bei HTML ist der Anwendungsbereich der CSS-Selektoren so groß, dass man nicht alle Konzepte der Sprache abdecken kann. Bevor wir uns jedoch mit dem Scraping mit R befassen, solltest du mehr über IDs und Klassen erfahren. In diesem Abschnitt wollen wir uns mit den Klassen beschäftigen.

Wenn Sie Websites in einer integrierten Entwicklungsumgebung erstellen, möchten Sie sicherstellen, dass alle ähnlichen Website-Komponenten einheitlich aussehen. Beispielsweise könnten Sie Elemente finden, die in der Liste erscheinen, und alle sollten denselben Farbton haben, nämlich Rot.

Um das zu erreichen, musst du den CSS-Selektor, der die Farbinformationen enthält, in alle Zeilen des HTML-Tags des Textes einfügen. So geht’s:

<p style= "color:red" >Text 1</p>

<p style= "color:red" >Text 2</p>

<p style= "color:red" >Text 3</p>

Here, the style text shows that you're trying to apply a CSS selector to the <P> stages. In the quotes, you will come across the key-value pair known as "color:red." The color refers to the text color present in the <p> tags, and the red defines what exactly the shade should be.

Die RVest-Bibliothek

Die RVest-Bibliothek
Das Logo des „rvest“-Pakets auf weißem Hintergrund

   Bildquelle:

Genau wie beim CSS-Selektor müssen Sie auch das rvest-Paket gut beherrschen, das ein wichtiges R-Paket für Web-Scraping-Aufgaben ist. Die rvest-Bibliothek, die von dem bekannten Hadley Wickham gepflegt wird, ist eine spezielle Bibliothek, die es allen Benutzern ermöglicht, Datensätze über Webseiten zu sammeln oder zu scrapen. Die rvest-Bibliothek ist eine Tidyverse-Bibliothek, die perfekt mit allen anderen Bibliotheken innerhalb eines Bundles zusammenarbeitet. Das rvest-Paket soll sich an der Python-Webscraping-Bibliothek namens Beautiful Soup orientieren.

„Web-Scraping-API-Software nutzen: Wie genau hilft sie?“

Einsatz von Web-Scraping-API- Software: Wie genau hilft sie?
Der Marketingbereich der WebScrapingAPI mit Kundenlogos und einer Überschrift zu einsatzbereiten Scraping-APIs

Sie wissen sicher, dass man zum Abrufen der auf verschiedenen Websites gespeicherten Daten unbedingt das richtige Web-Scraping-Tool benötigt. Es hilft nicht nur bei der weiteren Analyse, sondern beschleunigt auch die Web-Scraping-Arbeit erheblich. Apropos Web-Scraping-Tools: Die Web-Scraping-API gehört derzeit zu den besten auf dem Markt.

Die Software ist als kostenpflichtige und als kostenlose Version erhältlich und funktioniert einwandfrei in verschiedenen Browsern, darunter Google Chrome. Für gängige Web-Scraping-Anwendungen wie „Daten aus Wikipedia mit R extrahieren“ oder „Dateien per FTP mit R herunterladen“ können Sie diese Software nutzen.

Es gibt über 10.000 Unternehmen, die WebScrapingAPI nutzen, um jeden Monat mehr als 50 Millionen Datensätze zu scrapen. Die Software basiert auf modernster Technologie, die dafür sorgt, dass die Zielseiten innerhalb von Sekunden geladen werden und Sie umgehend eine API-Antwort erhalten.

Sie können zudem Stimmungsanalysen und JavaScript-Rendering durchführen, und die Software verfügt über eine Funktion zur Erkennung von Bots. Darüber hinaus bietet die Software eine Proxy-Rotationsfunktion, die alle Proxys verwaltet und die Rotation automatisch durchführt.

Vorteile: 

  • Es ist ganz einfach
  • Die Registrierung ist ganz einfach
  • Es wird mit der Amazon Scraper API geliefert
  • Unternehmen können das Tool für Preisvergleiche, Finanzdaten, die Gewinnung von Leads usw. nutzen.

Nachteile:

  • Es handelt sich um ein kostenpflichtiges Tool

Websites mit der /www.webscrapingapi.com/" target="_blank" rel="noopener noreferrer">Web-Scraping-API auslesen

Websites mit einer Web-Scraping-API auslesen
Der Marketingbereich der WebScrapingAPI mit Kundenlogos und einer Überschrift zu einsatzbereiten Scraping-APIs

Das Internet ist voll von zahlreichen Datensätzen, die man für eigene Projekte nutzen kann. Manchmal kann man ganz einfach auf eine API zugreifen und die Daten dann über R abrufen. Das ist jedoch nicht immer möglich, und die Daten liegen oft nicht in einem sauberen Format vor. Hier kommt Web Scraping ins Spiel.

Diese Technik hilft Ihnen dabei, die Daten, die Sie analysieren möchten, im HTML-Code der Website zu finden. Um das Web-Scraping durchzuführen, benötigen Sie jedoch ein geeignetes Tool wie die Web-Scraping-API. Dabei handelt es sich um eine leistungsstarke Software, die von zahlreichen Unternehmen genutzt wird und das Web-Scraping um das Dreifache beschleunigt.

Es verfügt über einen hervorragenden Kundensupport, und im Bereich „Preise“ können Sie die für Ihr Budget passende Preisoption auswählen.

Holen Sie sich jetzt die Web-Scraping-API und legen Sie los!

Über den Autor
Suciu Dan, Mitbegründer von WebScrapingAPI
Suciu DanMitbegründer

Suciu Dan ist Mitbegründer von WebScrapingAPI und verfasst praxisorientierte, auf Entwickler zugeschnittene Anleitungen zu den Themen Web-Scraping mit Python, Web-Scraping mit Ruby und Proxy-Infrastruktur.

Los geht’s

Sind Sie bereit, Ihre Datenerfassung zu erweitern?

Schließen Sie sich den über 2.000 Unternehmen an, die WebScrapingAPI nutzen, um Webdaten im Unternehmensmaßstab ohne zusätzlichen Infrastrukturaufwand zu extrahieren.