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.
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.
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.