Zurück zum Blog
Anleitungen
Suciu DanLast updated on Mar 31, 20268 min read

Web-Scraping mit R: Der ultimative Leitfaden mit Schritt-für-Schritt-Anleitung

Web-Scraping mit R: Der ultimative Leitfaden mit Schritt-für-Schritt-Anleitung

Web-Scraping ist eine beliebte Technik, die von Fachleuten genutzt wird, um Daten von verschiedenen Webseiten zu extrahieren. Beim Surfen im Internet lassen viele Websites nicht zu, dass Nutzer die Daten für den privaten Gebrauch speichern. Deshalb werden die Daten manuell kopiert und eingefügt, was sehr zeitaufwendig und mühsam ist.

Hier kommt Web Scraping ins Spiel, das Daten automatisch aus den Webseiten extrahiert. Der gesamte Prozess wird jedoch über eine Web-Scraping-Software oder ein Tool durchgeführt, das als „Web Scraper“ bezeichnet wird. Die Software extrahiert und lädt Daten automatisch entsprechend den Bedürfnissen des Nutzers von den Webseiten.

Ein Web-Scraper kann speziell für ein einzelnes Projekt entwickelt werden oder sich leicht so konfigurieren lassen, dass er mit jeder beliebigen Webseite funktioniert. Das Web-Scraping erfolgt mit verschiedenen Tools oder Programmen, doch es gibt unzählige Programmiersprachen, die diesen Prozess bekanntlich hervorragend unterstützen.

Eine dieser Programmiersprachen ist „R“, die als eine der führenden Programmiersprachen für das Web-Scraping gilt. Möchten Sie also Web-Scraping mit R durchführen? Lesen Sie diesen Artikel, um zu erfahren, wie das geht.

Die Programmiersprache R: Eine kurze Definition

Die Programmiersprache R: Eine kurze Definition

  Bildquelle:

Bevor Sie sich dem Hauptteil des Web-Scrapings in R zuwenden, ist es wichtig, sich einige Kenntnisse über die Programmierung mit R anzueignen. R ist eine bekannte Open-Source-Programmiersprache, mit der sich Daten einfach und effektiv scrapen lassen. Sie wurde erstmals 1993 vorgestellt und bereits 1995 in eine Open-Source-Plattform umgewandelt.

„R“ hatte im Jahr 2000 auch seine allererste Beta-Version, die von Robert Gentleman und Ross Ihaka entwickelt wurde. Die Sprache R wurde hauptsächlich 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 bekannten Anwendungsfälle dieses Tools zum Scrapen von Daten sind:

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

Im Vergleich zu SPSS und SAS gilt R als weit verbreitetes Analysetool. Es verfügt über eine aktive Community mit rund 2 Millionen Nutzern. Wenn Sie sich andere Unternehmen ansehen, die R zum Scrapen von Daten nutzen, und wie sie dabei vorgehen, werden Sie Folgendes feststellen:

  • Trulia – Vorhersage aller Immobilienpreise sowie der lokalen Kriminalitätsraten
  • Facebook – Aktualisierung des Status und des sozialen Netzwerks
  • Foursquare – Nutzung für die Empfehlungsmaschine
  • Google – Vorhersage der Wirtschaftstätigkeit und Verbesserung der Effizienz der Online-Werbung

Dennoch konkurriert „R“ im Vergleich zu anderen Sprachen derzeit mit Python. Das liegt daran, dass beide über aktive Communities verfügen und Web-Scraping-Tools anbieten. Den Unterschied werden Sie jedoch sicherlich erkennen, wenn Sie sich die Zielgruppe ansehen. Python bietet eine leicht zu erlernende Syntax sowie erstklassige Funktionen.

Die Verwendung von R für das Web-Scraping einer Webseite mag auf den ersten Blick ziemlich einschüchternd wirken. Diese Sprache konzentriert sich jedoch auf statistische Analysen. Sie bietet zudem eine riesige Auswahl an integrierten Tools zur Datenvisualisierung und -analyse, die das Web-Scraping erheblich vereinfachen, da es sich um Projekte handelt, die eine enorme Datenmenge erfordern.

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

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

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

  • Grundlagen des Web-Scrapings und von HTML verstehen

Wenn es um Web-Scraping mit R geht, müssen Sie zunächst die Grundlagen des Web-Scrapings und von HTML erlernen und verstehen. Sie müssen lernen, wie Sie über den Browser auf den HTML-Code zugreifen, und sich mit allen grundlegenden Konzepten von HTML und Markup-Sprachen vertraut machen. Dies wird Ihnen sicherlich den Weg zum Scrapen von Daten ebnen.

Sobald Sie diese Grundlagen beherrschen, wird das Scraping mit R viel einfacher, als Sie denken. Hier sind die folgenden Punkte, die Ihnen bei der Web-Scraping-Arbeit 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 Webs selbst. Wenn Sie eine Website in den Browser eingeben, lädt der Browser die Seite herunter und rendert sie.

Aber wie genau funktioniert das Web-Scraping mit R? Nun, bevor Sie etwas unternehmen, müssen Sie zunächst lernen, wie genau eine Webseite aufgebaut ist und woraus sie besteht. Sie werden feststellen, dass eine Webseite zwar schöne Bilder und Farben aufweist, das zugrunde liegende HTML-Dokument jedoch eher textorientiert ist.

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

  • HTML-Tags und -Elemente

Wenn du den HTML-Code überprüfst, wirst du auf Elemente wie <title>, </title>, <body>, </body> und viele weitere stoßen. Diese werden als HTML-Tags bezeichnet und sind spezielle Markierungen im HTML-Dokument. Alle Tags erfüllen einen wichtigen Zweck und werden vom Webbrowser jeweils auf unterschiedliche Weise interpretiert.

Beispielsweise liefert „<title>“ dem Browser den Titel der Webseite, und „<body>“ stellt dem Browser den Hauptinhalt der Webseite bereit. Außerdem sind Tags als öffnende und schließende Markierungen bekannt, zwischen denen sich Inhalt befindet, oder sie schließen sich selbstständig. Die Art des darauf folgenden Stils hängt jedoch stark vom Anwendungsfall und dem Tag-Typ ab.

Die Tags verfügen zudem über Attribute, die zusätzliche HTML-Daten und Informationen bereitstellen, 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 bestimmten HTML-Elementen vertraut gemacht haben, werden Ihnen alle Aspekte, die Sie interessieren, viel verständlicher erscheinen.

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

  • Parsen einer Webseite mit R

Nun ist es an der Zeit, mit R ein Web-Scraping auf einer Ziel-Webseite durchzuführen. Beachten Sie dabei eines: Sie werden nur die Oberfläche des HTML-Inhalts scrapen, d. h. Sie extrahieren hier keine Datenrahmen, sondern geben den vollständigen einfachen HTML-Code aus.

Wenn Sie also alle Elemente einer Webseite scrapen und überprüfen möchten, wie sie dargestellt wird, müssen Sie redLines() verwenden, um alle Zeilen des HTML-Inhalts innerhalb einer Entwicklungsumgebung abzubilden und so eine Darstellung davon zu erzeugen.

Nun müssen Sie „flat_html“ ausgeben, und die R-Konsole zeigt Ihnen die gewünschten Ergebnisse an, die in etwa so aussehen werden:

Bildquelle:

Behalten Sie eines klar im Hinterkopf: Das Scraping von Websites dient nur dem Spaß, und jeder Data-Science-Experte ist sich dessen bewusst. Es wird sicherlich ein spannendes Experiment sein, und Sie können problemlos mehrere Seiten einer Website, wie beispielsweise die IMDB-Website, auf Ihrem Betriebssystem scrapen.

„Ob Sie nun 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 enorme Datenmenge liefern mag, handelt es sich dabei nicht um ein HTML-Dokument. Das liegt daran, dass redLines() das Dokument zwar korrekt liest, aber die Dokumentstruktur nicht berücksichtigt.

Dies ist jedoch nur ein Beispiel, um Ihnen zu zeigen, wie das Scraping von Webseiten mit der R-Web-Scraping-Methode genau aussieht. Der folgende Code aus der Praxis wird wesentlich komplizierter sein. Es gibt jedoch eine Liste verfügbarer Bibliotheken, die die Arbeit mit R-Web-Scraping erheblich vereinfachen.

CSS kennenlernen

CSS kennenlernen

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

Die Gestaltung kann sich auf die Farbe von HTML-Elementen oder deren Positionierung beziehen. Genau wie bei HTML ist der Umfang der CSS-Selektoren so groß, dass man nicht alle Konzepte der Sprache abdecken kann. Bevor man sich jedoch mit dem Web-Scraping mit R befasst, sollte man mehr über IDs und Klassen lernen. In diesem Abschnitt wollen wir uns mit den Klassen beschäftigen.

Wenn du Websites in einer integrierten Entwicklungsumgebung erstellst, möchtest du sicherstellen, dass alle ähnlichen Website-Komponenten gleich aussehen. Beispielsweise könntest du Elemente finden, die in einer Liste erscheinen, und alle sollten denselben Farbton haben, nämlich Rot.

Um dies zu erreichen, müssen Sie den CSS-Selektor, der die Farbinformation enthält, in alle Zeilen des HTML-Tags des Textes einfügen. So geht das:

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

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

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

Hier zeigt der Stiltext, dass du versuchst, einen CSS-Selektor auf die <P>-Elemente anzuwenden. In den Anführungszeichen findest du das Schlüssel-Wert-Paar „color:red“. „color“ bezieht sich auf die Textfarbe in den <p>-Tags, und „red“ definiert, welchen Farbton genau es haben soll.

Die RVest-Bibliothek

Die RVest-Bibliothek

   Bildquelle:

Genau wie beim CSS-Selektor müssen Sie auch das rvest-Paket gut verstehen, das ein wichtiges R-Paket für Web-Scraping-Arbeiten 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 Pythons Web-Scraping-Bibliothek namens Beautiful Soup orientieren.

Einsatz von Web-Scraping-API -Software: Wie genau hilft sie?

Einsatz von Web-Scraping-API-Software: Wie genau hilft sie?

Sie wissen genau, dass zum Abrufen der auf verschiedenen Websites gespeicherten Daten das richtige Web-Scraping-Tool unerlässlich ist. Es hilft nicht nur bei der weiteren Analyse, sondern beschleunigt die Web-Scraping-Arbeit erheblich. Apropos Web-Scraping-Tools: Die Web-Scraping-API ist derzeit eine der besten auf dem Markt.

Die Software ist in kostenpflichtiger und kostenloser Version erhältlich und funktioniert einwandfrei in verschiedenen Browsern, darunter Google Chrome. Bei gängigen Web-Scraping-Szenarien wie „Daten aus Wikipedia mit R scrapen“ oder „Dateien per FTP mit R herunterladen“ können Sie diese spezielle Software nutzen.

Es gibt über 10.000 Unternehmen, die WebScrapingAPI nutzen, um jeden Monat über 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 Ihnen eine sofortige API-Antwort liefert.

Sie können zudem Stimmungsanalysen und JavaScript-Rendering durchführen, und die Software ist mit einer Anti-Bot-Erkennungsfunktion ausgestattet. Darüber hinaus verfügt die Software über eine Proxy-Rotationsfunktion, die alle Proxys verwaltet und die Rotation automatisch durchführt.

Vorteile: 

  • Einfach und benutzerfreundlich
  • Der Registrierungsprozess ist einfach
  • Sie wird mit der Amazon Scraper API geliefert
  • Unternehmen können das Tool für Preisvergleiche, Finanzdaten, Lead-Generierung usw. nutzen.

Nachteile:

  • Es ist ein kostenpflichtiges Tool

Websites mit Web-Scraping-API scrapen

Websites mit Web-Scraping-API scrapen

Das Internet ist voll von zahlreichen Datensätzen, die man für persönliche Projekte nutzen kann. In manchen Fällen kann man leicht auf eine API zugreifen und die Daten dann über R abrufen. Das ist jedoch möglicherweise nur manchmal möglich, und man erhält die Daten nicht in einem sauberen Format. 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 Scraping durchzuführen, benötigen Sie jedoch ein geeignetes Tool wie die Web-Scraping-API. Dies ist eine effektive Software, die von zahlreichen Unternehmen genutzt wird und das Web-Scraping dreimal schneller macht.

Sie verfügt über einen hervorragenden Kundensupport, und im Bereich „Preise“ können Sie die Preisoption wählen, die Ihrem Budget entspricht.

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

Über den Autor
Suciu Dan, Mitbegründer @ 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.