Webseiten in Node mit Cheerio scrapen: Wie geht das?
In diesem Abschnitt erfahren Sie, wie Sie mit Hilfe von Cheerio eine Webseite scrapen. Bevor Sie sich jedoch für diese Methode entscheiden, müssen Sie die entsprechenden Berechtigungen dafür haben. Andernfalls könnten Sie gegen Datenschutzbestimmungen, Urheberrechte oder die Nutzungsbedingungen verstoßen.
Sie lernen, wie Sie den ISO 3166-1 Alpha-3-Code für alle Länder und verschiedene andere Rechtsgebiete auslesen. Die Länderdaten finden Sie im Bereich „Codes“ auf der ISO 3166-1 Alpha-3-Seite. Also, legen wir los!
Schritt 1: Erstellen Sie ein Arbeitsverzeichnis
Hier müssen Sie ein Verzeichnis für das Projekt erstellen, indem Sie den Befehl „mkdir learn-cheerio“ im Terminal ausführen. Dieser Befehl erstellt ein Verzeichnis namens „learn-cheerio“, das Sie aber auch beliebig benennen können.
In diesem Schritt erstellen Sie ein Verzeichnis für Ihre Aufgabe, indem Sie einen Befehl im Terminal ausführen. Der Befehl erstellt ein Verzeichnis namens „learn-cheerio“. Sie können ihm einen anderen Namen geben, wenn Sie möchten.
Nach der erfolgreichen Ausführung der ausgewählten Elemente oder des Befehls „mkdir learn-cheerio“ wird ein Ordner mit dem Namen „learn-cheerio“ angezeigt. Nachdem das Verzeichnis erstellt wurde und Sie externe Ressourcen erfolgreich laden konnten, müssen Sie das Verzeichnis und einen Texteditor öffnen, um das Projekt zu initialisieren.
Schritt 2: Initialisierung des Projekts
Um sicherzustellen, dass Cheerio in diesem Projekt ordnungsgemäß implementiert wird, müssen Sie in das Projektverzeichnis navigieren und es dann initialisieren. Öffnen Sie dazu einfach das Verzeichnis mit einem Texteditor Ihrer Wahl und initialisieren Sie es, indem Sie den Befehl „npm init -y“ ausführen. Sobald Sie diesen Vorgang abgeschlossen haben, können Sie eine „package.json“-Datei im Stammverzeichnis des Projekts erstellen.
Schritt 3 – Installieren der Abhängigkeiten
In diesem Abschnitt installieren Sie die Projektabhängigkeiten, indem Sie den Befehl „npm install Axios cheerio pretty“ ausführen.
Wenn du diesen Befehl verwendest, dauert das Laden eine Weile, also hab bitte etwas Geduld. Sobald du den Befehl erfolgreich ausgeführt hast, kannst du drei Abhängigkeiten in der Datei „package.json“ direkt unter dem Abschnitt „dependencies“ registrieren.
Die erste Abhängigkeit heißt „Axios“, die zweite „Cheerio“ und die letzte „Pretty“. Axios ist ein bekannter HTTP-Client, der im Browser und in Node funktioniert. Sie benötigen ihn, da Cheerio als Markup-Parser fungiert.
Um also sicherzustellen, dass Cheerio das Markup parsen und anschließend die benötigten Daten scrapen kann, müssen Sie
Um sicherzustellen, dass Cheerio das Markup parsen und anschließend die benötigten Daten extrahieren kann, müssen Sie Axios verwenden, um das Markup von der Website abzurufen. Sie können auch einen anderen HTTP-Client verwenden, um das Markup abzurufen, wenn Sie möchten. Es muss nicht unbedingt Axios sein.
„Pretty“ hingegen ist ein npm-Paket, das das Markup aufbereitet, damit es auf dem Terminal vollständig lesbar ist.
Schritt 4: Untersuchen Sie die Webseite, die Sie scrapen möchten
Bevor Sie die Daten von der Webseite extrahieren, müssen Sie zunächst die HTML-Datenstruktur der Seite gut verstehen. In diesem Abschnitt
Bevor Sie Daten von einer Webseite scrapen, ist es unerlässlich, die HTML-Struktur der Seite zu verstehen, von der Sie Daten scrapen werden. Gehen Sie auf Wikipedia zum ISO 3166-1 Alpha-3-Code. Unter dem Abschnitt „Aktueller Code“ finden Sie eine Liste der Länder und ihrer Codes.
Nun müssen Sie nur noch die DevTools öffnen, indem Sie die Tastenkombination „STRG + UMSCHALT + I“ drücken. Alternativ können Sie mit der rechten Maustaste klicken und dann die Option „Untersuchen“ wählen. Hier ist ein Bild, das zeigt, wie die „Liste“ in den DevTools angezeigt wird
Schritt 5: Schreiben Sie den Code zum Auslesen der Daten
Nun müssen Sie den Code zum Auslesen der Daten schreiben. Um mit der Arbeit zu beginnen, müssen Sie den Befehl „touch app.js“ ausführen, um die Datei app.js zu erstellen. Wenn Sie diesen Befehl erfolgreich ausführen, können Sie die Datei app.js ohne Fehler im Projektverzeichnis erstellen.
Genau wie bei allen anderen Node-Paketen musst du „pretty“, „Cheerio“ und „anxious“ einbinden, bevor du sie nutzen kannst. Dazu musst du den folgenden Code hinzufügen:
const axios = require ["axios"]
const Cheerio = require ["cheerio"]
const pretty = require ["pretty"]
Achte darauf, diese Codes ganz oben in der Datei „app.js“ einzufügen. Vergewissere dich, dass du dich gut mit Cheerio auskennst, bevor du die Daten ausliest. Du kannst das Markup analysieren, indem du die resultierende Datenstruktur bearbeitest. Auf diese Weise lernst du die Cheerio-Syntax und den üblichen Ablauf kennen. Hier ist das Markup des UL-Elements, das die LI-Elemente enthält:
const URL-Markup = `
<ul class="fruits">
<li class="frutis__mango"> Mango </li>
<li class="fruits__apple"> Apfel </li>
</ul>
Sie können diesen speziellen Befehl ganz einfach zur Datei app.js hinzufügen.