In einer Welt, in der Plattformen wie YouTube einen erheblichen Einfluss haben, ist die Verwendung eines YouTube-Kanal-Scrapers immer wichtiger geworden. Solche Tools sind für Unternehmen, die Erkenntnisse gewinnen und wettbewerbsfähig bleiben möchten, von entscheidender Bedeutung. YouTube begann 2005 als bescheidenes Unternehmen und hat sich zu einem globalen Phänomen entwickelt, das die Landschaft des Konsums und der Erstellung von Inhalten verändert hat.

In den nächsten Jahren wuchs YouTube stark und es kamen weitere Inhaltstypen hinzu. Bis 2018 wurde es zu einem großen Teil der Kultur und präsentierte virale Herausforderungen, Musikstars und Lehrvideos. Im Jahr 2023 hatte YouTube mehr als 2.7 Milliarden monatliche Nutzer und ist damit ein wichtiger Knotenpunkt für weltweite Unterhaltung, Bildung und Informationen.

Jährliche Nutzerstatistiken von YouTube

Quelle

Angesichts dieser enormen Zahlen wissen wir, dass YouTube eine Goldgrube für wertvolle Daten ist. Allerdings ist die Extraktion dieser Daten komplex, insbesondere wenn Sie das richtige Tool benötigen.

Dieser Blog führt Sie Schritt für Schritt durch die Nutzung Crawlbases Crawling API um Ihren Datenextraktionsprozess zu optimieren. Entdecken Sie, wie Sie mit JavaScript einen benutzerdefinierten Scraper erstellen, der Aufgaben wie Wettbewerbsanalysen und die Verbesserung der Inhaltsstrategie durchführbar und bemerkenswert effizient macht. Lassen Sie uns in die Details eintauchen, um das Potenzial von Crawlbase für Ihre Datenextraktionsanforderungen zu maximieren.

Inhaltsverzeichnis

I. YouTube API vs. YouTube Scraper mit Crawlbase

II. Warum Crawlbase zum Scrapen von YouTube-Kanälen verwenden?

III. Projektumfang und Voraussetzungen

  • Voraussetzungen:
  • Einrichten der Crawlbase-API

IV. Einrichten der Umgebung

  • Abhängigkeiten installieren
  • Erstellen eines Endpunkts

V. Erstellen der Web Scraping-Logik

  • Schritt 1. HTML abrufen mit Crawling API
  • Schritt 2. Einen benutzerdefinierten Scraper mit Cheerio schreiben
  • Schritt 3. Kompilieren des Web Scraping Codes
  • Schritt 4. Testen der Web Scraping API mit Postman

VI. Schlussfolgerung

VII. Häufig gestellte Fragen

I. YouTube API vs. YouTube Scraper mit Crawlbase

Die Entscheidung zwischen der Verwendung der YouTube-API und eines Drittanbieterdienstes wie Crawlbase zum Scraping von YouTube-Daten hängt von den spezifischen Anforderungen Ihres Projekts, dem Umfang der benötigten Daten und Ihren technischen Möglichkeiten ab.

Die YouTube-API bietet offiziellen Zugriff auf YouTube-Daten, weist jedoch erhebliche Einschränkungen auf, da sie nur das Scraping grundlegender Informationen wie Videodetails, Rankings, Empfehlungen und Anzeigen ermöglicht. Außerdem ist eine Benutzeranmeldung erforderlich und es gelten Quotenbeschränkungen. Im Gegensatz dazu verwendet ein YouTube-Scraper mit Crawlbase Web-Scraping-Techniken und extrahiert Informationen direkt aus HTML-Inhalten. Dies bietet Flexibilität und Einfachheit auf Kosten der Inoffizialität und ist möglicherweise stärker Website-Änderungen und -Richtlinien unterworfen.

Um ein klareres Bild zu vermitteln, sind hier einige Vor- und Nachteile:

YouTube-API:

  1. Offizieller Zugang:
  • Vorteile: Die YouTube-API ist die offizielle und genehmigte Methode zum Zugriff auf YouTube-Daten. Sie bietet eine strukturierte und unterstützte Möglichkeit, Informationen direkt von YouTube abzurufen.
  • Nachteile: Für die API gelten Nutzungskontingente und Einschränkungen. Bestimmte Funktionen können je nach Ihrem API-Schlüssel und Ihrer Zugriffsebene eingeschränkt sein.
  1. Datengenauigkeit:
  • Vorteile: Die API bietet genaue und aktuelle Informationen direkt aus der YouTube-Datenbank.
  • Nachteile: Die API weist möglicherweise einige Einschränkungen hinsichtlich der Tiefe der bereitgestellten Daten auf und bestimmte Messwerte können aggregiert oder anonymisiert sein.
  1. Compliance und rechtliche Überlegungen:
  • Vorteile: Durch die Verwendung der YouTube-API wird die Einhaltung der Nutzungsbedingungen und gesetzlichen Anforderungen von YouTube sichergestellt.
  • Nachteile: Für bestimmte Arten des Datenzugriffs gelten möglicherweise Einschränkungen der API und Scraping-Aktivitäten außerhalb der API verstoßen möglicherweise gegen die Servicebedingungen.
  1. Entwicklungsaufwand:
  • Vorteile: Die Integration mit der YouTube-API ist gut dokumentiert und kann von Entwicklern mit Programmiererfahrung durchgeführt werden.
  • Nachteile: Die Anpassungsoptionen sind möglicherweise eingeschränkt und für den Zugriff auf bestimmte Datentypen sind möglicherweise mehrere API-Anfragen erforderlich.

Youtube Scraper:

  1. Umfassender Datenzugriff:
  • Vorteile: Youtube Scraper ermöglicht ein umfangreicheres und flexibleres Scraping von Daten und bietet möglicherweise Zugriff auf Informationen, die über das hinausgehen, was die Youtube-API bietet.
  • Nachteile: Abhängig vom benötigten Datenumfang können durch die Nutzung eines Drittanbieterdienstes Kosten entstehen.
  1. IP-Rotation und Anonymität:
  • Vorteile: Crawlbase nutzt häufig IP-Rotation und Anti-Bot-Erkennungsfunktionen und verringert so das Risiko, von YouTube wegen Scraping-Aktivitäten blockiert zu werden.
  • Nachteile: Diese Funktionen verbessern zwar die Tarnung deutlich, die Erfolgsquote liegt jedoch möglicherweise nicht immer bei 100 %.
  1. Einfache Bedienung:
  • Vorteile: Youtube-Scraper wie Crawlbase bieten eine benutzerfreundliche API, die den Scraping-Prozess vereinfacht und ihn für Benutzer mit unterschiedlichem technischen Fachwissen zugänglich macht.
  • Nachteile: Je nach Komplexität des Projekts steigt das erforderliche Qualifikationsniveau, um die Vorteile der API voll auszunutzen.
  1. Skalierbarkeit:
  • Vorteile: Crawlbase eignet sich besser für groß angelegte Scraping-Projekte, für die umfangreiche Daten benötigt werden.
  • Nachteile: Zusätzliche Kosten abhängig von der Häufigkeit der Anfragen und gleichzeitigen Verbindungen.
YouTube-API YouTube-API vs. YouTube-Scraper

Überlegungen zur Entscheidungsfindung:

  • Datenvolumen und Anpassung: Wenn Sie ein hohes Maß an Anpassung und Zugriff auf umfangreiche Daten benötigen und bereit sind, potenzielle Risiken zu managen, ist ein Drittanbieterdienst wie Crawlbase möglicherweise besser geeignet.
  • Technische Fachkentnis: Die YouTube-API ist möglicherweise besser für Entwickler geeignet, die über das nötige Fachwissen zur Navigation und Implementierung von API-Integrationen verfügen. Andererseits bietet Crawlbase möglicherweise eine einfachere Lösung für Benutzer mit weniger technischer Erfahrung.
  • Kostenüberlegungen: Bewerten Sie die Kostenauswirkungen der Verwendung der YouTube-API im Vergleich zu einem Drittanbieterdienst und berücksichtigen Sie dabei Faktoren wie API-Nutzungsgebühren, potenzielle Überschreitungskosten und etwaige Abonnementgebühren für Drittanbieterdienste.

Letztendlich hängt die Wahl zwischen der YouTube-API und Crawlbase von den spezifischen Anforderungen und Einschränkungen Ihres Projekts ab, wobei Faktoren wie Datengenauigkeit, Konformität, Anpassung und Benutzerfreundlichkeit abzuwägen sind.

II. Warum Crawlbase zum Scrapen von YouTube-Kanälen verwenden?

Beim Scraping von Daten aus YouTube-Kanälen müssen verschiedene Hürden überwunden werden, um sicherzustellen, dass der Prozess effizient und effektiv ist und Störungen vermeidet. Die Crawling API von Crawlbase bietet Lösungen zur Bewältigung dieser Herausforderungen.

Hürden beim YouTube Scraping

  1. Umgehung der Blockade: Verbote vermeiden:
  • Herausforderung: YouTube ergreift Maßnahmen, um Scraping-Aktivitäten zu verhindern, und wiederholte Versuche können zu IP-Sperren führen.
  • Problem: Herkömmliche Scraping-Methoden können die Sicherheitsmechanismen von YouTube auslösen, was zu einer IP-Blockierung führt und die Datenerfassung behindert.
  1. Captchas überlisten: Das digitale Puzzle vereinfachen:
  • Herausforderung: Captchas werden häufig verwendet, um zwischen menschlichen und automatisierten Bot-Aktivitäten zu unterscheiden.
  • Problem: Das ständige Lösen von Captchas während Scraping-Prozessen ist zeitaufwändig und unterbricht den Automatisierungsablauf, sodass eine nahtlose Datenextraktion schwierig wird.
  1. So umgehen Sie die Bot-Erkennung: Unter dem Radar fliegen:
  • Herausforderung: YouTube ist mit ausgeklügelten Bot-Erkennungsmechanismen ausgestattet, um automatisierte Scraping-Bots zu identifizieren und zu blockieren.
  • Problem: Herkömmliche Scraping-Tools können menschliches Verhalten möglicherweise nicht nachahmen, was zur Erkennung und anschließenden Blockierung von Bots führt.

Die Lösungen von Crawlbase: Die Crawling API

  1. IP-Rotation:
  • Lösung: Crawlbase beschäftigt rotierende IP-Adressen um Sperren zu vermeiden und Anfragen auf mehrere IP-Adressen zu verteilen.
  • Vorteile: By rotierende IPs Crawlbase stellt bei jeder Anfrage sicher, dass Scraping-Aktivitäten eher wie normale Benutzerinteraktionen aussehen. Dadurch wird das Risiko von IP-Sperren minimiert und eine kontinuierliche, unterbrechungsfreie Datenerfassung ermöglicht.
  1. KI-gestützt, die sich beim Surfen auf der Zielwebsite wie ein Mensch verhält:
  • Lösung: Die KI-gestützte Scraping-Technologie von Crawlbase simuliert menschliche Interaktionen mit der Zielwebsite.
  • Vorteile: Durch die Nachbildung natürlicher Browsing-Muster trägt die KI-gestützte Lösung von Crawlbase dazu bei, Bot-Erkennungsmechanismen zu umgehen und verringert so die Wahrscheinlichkeit, als Scraping-Bot gekennzeichnet zu werden.
  1. Anti-Bot-Erkennungsfunktionen:
  • Lösung: Crawlbase enthält Anti-Bot-Erkennungsfunktionen, um Maßnahmen von Websites wie YouTube entgegenzuwirken.
  • Vorteile: Zu diesen Funktionen gehören zufällig ausgewählte Benutzeragenten, Header und andere Techniken, die Scraping-Aktivitäten weniger auffällig machen und so ein höheres Maß an Tarnung während des Datenextraktionsprozesses gewährleisten.
  1. Schnellere Entwicklungszeit bedeutet geringere Projektkosten:
  • Lösung: Die benutzerfreundliche API von Crawlbase verkürzt die Entwicklungszeit, die für die Implementierung von YouTube-Scraping-Funktionen erforderlich ist.
  • Vorteile: Ein schnellerer Entwicklungsprozess führt zu niedrigeren Projektkosten und macht Crawlbase zu einer kostengünstigen Lösung für Unternehmen und Entwickler, die nach effizienten YouTube-Scraping-Funktionen suchen.

Kurz gesagt, Crawlbase's Crawling API bietet eine umfassende Lösung für die Herausforderungen, die mit dem Scraping von YouTube-Kanälen verbunden sind, indem IP-Rotation, KI-gestützte Emulation des menschlichen Browsings, Anti-Bot-Erkennungsfunktionen und ein schnellerer Entwicklungszyklus eingesetzt werden. Zusammen tragen diese Funktionen zu einem nahtloseren und effizienteren Datenextraktionsprozess bei und minimieren gleichzeitig das Risiko von Störungen und Sperrungen.

III. Projektumfang und Voraussetzungen

Unser Projekt, der YouTube Channel Scraper, wurde entwickelt, um Entwicklern und Unternehmen die Möglichkeit zu geben, mithilfe von Crawlbases umfassende Daten effizient aus YouTube-Kanälen zu extrahieren. Crawling APIDas Projekt umfasst folgende Schwerpunkte:

  1. Datenextraktion aus YouTube-Kanälen
    Das Hauptziel der API besteht darin, detaillierte Informationen aus YouTube-Kanälen zu extrahieren. Dazu gehören wichtige Metadaten wie Kanaltitel, Beschreibung, Abonnentenzahl, Kanalbild, Videoanzahl und Kanal-Handle. Darüber hinaus ruft die API Informationen zu einzelnen Videos innerhalb des Kanals ab, darunter Videotitel, Ansichten und Miniaturbilder.

  2. Dynamisches Daten-Parsing
    Die API verwendet dynamische HTML-Analysetechniken, um mithilfe der Cheerio-Bibliothek relevante Daten aus der HTML-Struktur der YouTube-Kanalseite zu extrahieren. Datenanalyse Der Mechanismus gewährleistet die Anpassungsfähigkeit an Änderungen in der Struktur der YouTube-Website und ermöglicht so eine konsistente und zuverlässige Datenextraktion.

  3. Crawlbases Crawling API Integration
    Das Projekt integriert sich nahtlos in Crawlbase's Crawling API, ein leistungsstarkes Tool, das effizientes und diskretes Web Scraping ermöglicht. Die API bewältigt die Komplexitäten des Web Scrapings, wie IP-Rotation, Anti-Bot-Erkennung und Seitenwartezeiten, und gewährleistet so die Zuverlässigkeit und Kontinuität der Datenextraktion aus YouTube-Kanälen.

  4. Skalierbarkeit und Effizienz
    Die API wurde mit Blick auf Skalierbarkeit entwickelt und kann verwendet werden, um Daten aus einem einzelnen Kanal oder mehreren Kanälen gleichzeitig zu extrahieren. Diese Skalierbarkeit ist entscheidend für Projekte, die eine umfangreiche Datenextraktion aus einer Vielzahl von YouTube-Kanälen erfordern.

  5. Integration mit vorhandenen Anwendungen
    Entwickler können nahtlos Integrieren Sie den YouTube-Kanal Scraper API in ihre bestehenden Anwendungen, Workflows oder Analysetools integrieren. Die Einfachheit der API und die Einhaltung von RESTful-Prinzipien machen sie vielseitig und mit verschiedenen Entwicklungsumgebungen kompatibel.

Voraussetzungen:

Bevor wir mit dem Schreiben des Codes beginnen, stellen Sie sicher, dass die folgenden Voraussetzungen erfüllt sind:

Grundkenntnisse in JavaScript und Node.js:

  • Ein grundlegendes Verständnis von JavaScript Programmiersprache und Node.js sind unerlässlich. Diese Kenntnisse helfen Ihnen, die Codestruktur zu verstehen und alle notwendigen Anpassungen vorzunehmen.

Auf Ihrem Entwicklungscomputer installiertes Node.js:

  • Stellen Sie sicher, dass Node.js auf Ihrem Entwicklungscomputer installiert ist. Sie können die neueste Version von Node.js von der offiziellen Node.js-Website.

Vertrautheit mit Express.js zum Erstellen eines Endpunkts:

  • Das Projekt nutzt Express.js um einen einfachen Endpunkt für die Verarbeitung von API-Anfragen zu erstellen. Machen Sie sich mit Express.js vertraut, da Sie damit das API-Verhalten basierend auf Ihren Projektanforderungen anpassen können.

Aktives Crawlbase-Konto mit API-Anmeldeinformationen:

  • Melden Sie sich für ein Crawlbase-Konto an, falls Sie noch keins haben. Ihre API-Anmeldeinformationen, einschließlich des normalen Anforderungstokens, finden Sie in der von Crawlbase bereitgestellten Kontodokumentation. Dieses Token ist für das Stellen von Anforderungen an die Crawlbase-API im Rahmen dieses Projekts von entscheidender Bedeutung.
  • Schritte zum Abrufen der Crawlbase-API-Anmeldeinformationen:
    • Registrieren für ein Crawlbase-Konto.
    • Besuchen Sie das Kontodokumentation um Ihre API-Anmeldeinformationen zu erhalten.
    • Rufen Sie das normale Anforderungstoken von Ihrem Crawlbase-Konto ab, da es zur Authentifizierung und zum Stellen von Anforderungen an die Crawlbase verwendet wird Crawling API.
Crawlbase JS-Token

Wenn Sie diese Voraussetzungen erfüllen, sind Sie gut vorbereitet, um unserer Anleitung zum Erstellen Ihres eigenen YouTube-Kanal-Scrapers zu folgen.

IV. Einrichten der Umgebung

Bevor Sie Ihre Codierumgebung einrichten und die Skripte schreiben, ist es sehr ratsam, zuerst Ihre Scraping-Ziele zu planen. Für diesen Leitfaden werden wir die folgenden Informationen scrapen von fehlen uns die Worte. YouTube-Kanalseite:

  • Titel
  • Beschreibung
  • Abonnenten
  • Bild
  • Anzahl der Videos
  • Kanalgriff
  • Videoliste
Netflix youtube

Abhängigkeiten installieren

In Ihrem Node.js-Projekt ist die Installation der wesentlichen Abhängigkeiten, die zum Einrichten Ihrer Web-Scraping-Umgebung erforderlich sind, von entscheidender Bedeutung. Diese Pakete umfassen:

  • Tschüss: Tschüs ist eine leistungsstarke Bibliothek zum Parsen von HTML, mit der Sie bestimmte Daten effizient aus Webseiten extrahieren können.
  • Express (Optional): Wenn Sie einen Endpunkt zum Empfangen von Scraped-Daten erstellen möchten, können Sie Ihren Server mit dem Express.js-Framework einrichten.
  • Crawlbase (optional): Die Crawlbase-Paket erleichtert die Interaktion mit der Crawlbase Crawling API, sodass Sie API-Anfragen problemlos in Ihr Node.js integrieren können.

Öffnen Sie zunächst Ihre Konsole oder Ihr Terminal und verwenden Sie den folgenden Befehl:

1
npm i express cheerio crawlbase

Dieser Befehl lädt die erforderlichen Pakete für Ihr Projekt herunter und installiert sie. So wird sichergestellt, dass Sie über die Tools zum Einrichten Ihres YouTube Channel Scraper verfügen.

Erstellen eines Endpunkts

Lassen Sie uns nun einen Express.js-Server einrichten und eine GET-Route definieren unter /scrape. Diese Route dient als Ausgangspunkt für die Einleitung des Web Scraping-Prozesses. Wenn ein Client eine GET-Anfrage an diese Route sendet, löst der Server den Scraping-Vorgang aus, ruft Daten ab und liefert eine Antwort.

Dieser Endpunkt ist wertvoll, wenn Sie eine API für Benutzer oder Systeme bereitstellen möchten, um in Echtzeit Scraping-Daten anzufordern. Sie erhalten Kontrolle über den Zeitpunkt und die Art und Weise, in der Daten abgerufen werden, und verbessern so die Flexibilität und Zugänglichkeit Ihrer Web-Scraping-Lösung.

Sie können den folgenden Code kopieren und speichern unter index.js (oder welchen Dateinamen Sie auch immer bevorzugen) in Ihrem Projektverzeichnis, um eine einfache Express.js GET-Route für /scrape

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
const ausdrücken = erfordern('äußern');
const app = express();
const Port = Prozess.env.PORT || 3000;

// Definieren Sie eine Route zur Verarbeitung eingehender Scraped-Daten
App.bekommen('/kratzen', (erforderlich, res) => {
// Hier die Scraped-Daten verarbeiten und speichern
const scrapedData = erforderlich.Körper;

// Mit einer Erfolgsmeldung oder einer anderen geeigneten Antwort antworten
res.Status(200).JSON({ Nachricht: „Daten erfolgreich empfangen“ });
});

//Starten Sie den Express-Server
App.hören(Hafen, () => {
trösten.Log(`Server läuft auf Port ${port}`);
});

Sie können diesen Code ausführen, um den Server zu starten, indem Sie den folgenden Befehl ausführen.

1
Knoten index.js

Ausgang:

Serverantwort

Wenn diese Aufgabe abgeschlossen ist, sind wir bereit, mit der nächsten Phase unseres Leitfadens fortzufahren. Im nächsten Schritt werden wir den Kerncode für den Scraper schreiben und ihn nahtlos in die Crawling API. Lasst uns fortfahren.

V. Erstellen der Web Scraping-Logik

Schritt 1. HTML abrufen mit Crawling API

Nachdem Sie nun Ihre API-Anmeldeinformationen und einen Server-Endpunkt mit den erforderlichen Abhängigkeiten eingerichtet haben, besteht der nächste Schritt darin, die Crawlbase-API zu nutzen, um HTML-Inhalte von einer YouTube-Kanalseite abzurufen.

In diesem Abschnitt erhalten Sie Einblicke in das Stellen von Anfragen an die Crawlbase-API, das Übergeben Ihrer API-Anmeldeinformationen und das Abrufen von HTML-Inhalten für die anschließende Verarbeitung. Der erhaltene HTML-Inhalt dient als Grundlage für die Datenextraktion und -analyse unter Verwendung von Cheerio und einer benutzerdefinierten Scraping-Logik.

Kopieren Sie den untenstehenden Code und speichern Sie ihn im selben index.js Datei.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
const ausdrücken = erfordern('äußern');
const { CrawlingAPI } = erfordern(„Crawlbase“);

const API = neu CrawlingAPI({ Zeichen: 'IHR_CRAWLBASE_TOKEN' }); // Ersetzen Sie es durch Ihr Crawlbase-Token
const app = express();
const PORT = Prozess.env.PORT || 3000;

App.bekommen('/kratzen', (erforderlich, res) => {
Bienen
.bekommen(erforderlichquery.URL)
.dann((Antwort) => {
trösten.Log(Antwort.Körper);
})
.Fang((Fehler) => {
trösten.Log(Fehler, 'FEHLER');
Rückkehr res.Status(500).senden({ Status: 'Fehlgeschlagen', msg: Fehler });
});
});

App.hören(PORT, () => trösten.Log(`Server läuft auf Port ${PORT}`));

Lassen Sie uns den bereitgestellten Code aufschlüsseln:

Abhängigkeiten importieren:

  • Die ersten beiden Zeilen importieren die erforderlichen Node.js-Module. express wird zum Erstellen eines Webservers verwendet und { CrawlingAPI } ist eine Destrukturierungszuweisung zum Importieren der CrawlingAPI Klasse aus dem Paket „crawlbase“.

Initialisierung der Crawlbase-API:

  • Hier eine neue Instanz des CrawlingAPI Klasse wird mit dem bereitgestellten Crawlbase API-Token erstellt. Stellen Sie sicher, dass Sie ersetzen "YOUR_CRAWLBASE_TOKEN" mit Ihrem tatsächlichen Crawlbase API-Token.

Express-Server-Setup:

  • Eine Express-Anwendung (app) wird initialisiert und der Server wird so konfiguriert, dass er auf dem angegebenen Port lauscht (entweder dem in der Umgebungsvariablen definierten PORT oder standardmäßig auf 3000 gesetzt).

Umgang mit dem „/scrape“-Endpunkt:

  • Dieser Teil definiert eine Route für die Verarbeitung von GET-Anfragen am Endpunkt „/scrape“. Wenn ein Client eine GET-Anfrage an diesen Endpunkt stellt, löst er einen Aufruf der Crawlbase-API mithilfe des api.get() -Methode, wobei die URL als Abfrageparameter übergeben wird (req.query.url).
  • Wenn der API-Aufruf erfolgreich ist, wird die reine HTML-Antwort in der Konsole protokolliert (console.log(response.body)). Wenn ein Fehler auftritt, wird er abgefangen, protokolliert und eine 500 Internal Server Error-Antwort an den Client gesendet.

Starten des Servers:

  • Der Express-Server wird gestartet und so konfiguriert, dass er auf dem angegebenen Port lauscht. In der Konsole wird eine Protokollmeldung angezeigt, die angibt, dass der Server ausgeführt wird.

Führen Sie den Code aus, um eine HTML-Antwort wie unten gezeigt zu erhalten:

Ausgabe der HTML-Datenextraktion

Schritt 2. Einen benutzerdefinierten Scraper mit Cheerio schreiben

In diesem Schritt werden wir uns mit den Grundlagen des Web Scraping befassen und uns auf die Extraktion wertvoller Produktinformationen aus der URL eines YouTube-Kanals mithilfe von Cheerio konzentrieren. Ziel ist die Erstellung eines benutzerdefinierten Scrapers zur präzisen Kontrolle des Datenextraktionsprozesses.

Sie ermitteln Produktdetails wie Titel, Preise und Bewertungen, indem Sie einen maßgeschneiderten Scraper entwickeln. Mit diesem praktischen Ansatz können Sie Ihre Scraping-Logik an die einzigartige Struktur des YouTube-Kanals anpassen und so einen genauen und effizienten Datenabruf gewährleisten.

Sehen Sie sich die folgenden Codeausschnitte und deren Erklärungen an:

Initialisieren von Cheerio und Datenstruktur

1
2
3
4
5
6
7
8
9
10
const $ = Prost.Belastung(html),
Kanal = {
Titel: '',
Beschreibung: '',
weltweit: '',
Image: '',
VideosAnzahl: '',
KanalHandle: '',
Videos[],
};
  • Der Code initialisiert Cheerio mit dem HTML-Inhalt (html) und erstellt eine channel Objekt zum Speichern der extrahierten Daten. Das Objekt hat Eigenschaften wie title, description, subscribersusw. und ein Array videos um Informationen zu einzelnen Videos zu speichern.

Extrahieren von Kanalinformationen:

1
2
3
4
5
6
Kanal[‚Titel‘] = $(„#innerer-header-container .ytd-channel-name .ytd-channel-name:Erster“).Text().trimmen();
Kanal['Bezeichnung'] = $('#Endpunkt #Inhalt').Text().trimmen();
Kanal[„Abonnenten“] = $('#Abonnentenzahl').Text();
Kanal['Bild'] = $(„#Kanal-Header-Container #img“).attr('Quelle');
Kanal[„VideosAnzahl“] = $('#Anzahl der Videos').Text();
Kanal['KanalHandle'] = $(„.meta-item #channel-handle“).Text();
  • Der Code verwendet Cheerio-Selektoren, um bestimmte Elemente in der HTML-Struktur von YouTube anzusprechen und relevante Informationen zu extrahieren. Beispielsweise extrahiert er den Kanaltitel, die Beschreibung, die Abonnentenzahl, die URL des Kanalbilds, die Anzahl der Videos und den Kanal-Handle.

Videos durchschleifen:

1
2
3
4
5
6
7
8
9
10
11
$(„#Inhalt #Scroll-Container #Elemente #abweisbar“).jeder((_, Element) => {
const Titel = $(Element).gefunden('#Videotitel').Text()
Ansichten = $(Element).gefunden('#Metadatenzeile').Text().ersetzen(/\s+/g, ''),
Bild = $(Element).gefunden(„.yt-core-bild“).attr('Quelle');

Kanal['Videos'].drücken({
Titel,
Ansichten,
Bild,
});
});
  • Dieser Teil des Codes verwendet Cheerios .each() Methode, um über jedes Videoelement auf der Seite zu iterieren. Es extrahiert Informationen wie Videotitel, Ansichten und Bild-URL für jedes Video und hängt diese Daten an die videos Array innerhalb des channel Objekt.

Schritt 3. Kompilieren des Web Scraping Codes

Nachdem wir nun die Schlüsselkomponenten für unser Web Scraping-Projekt entwickelt haben, ist es an der Zeit, den Code zu kompilieren und alles zusammenzuführen. Dabei werden die Funktionen, Routen und Konfigurationen zu einer zusammenhängenden Einheit konsolidiert, die als vollständige Anwendung ausgeführt werden kann.

Kopieren Sie den kompletten Code unten, überschreiben Sie den bestehenden Code in Ihrem index.js Datei und speichern Sie sie.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
const ausdrücken = erfordern('äußern');
const tschüss = erfordern("Tschüs");
const { CrawlingAPI } = erfordern(„Crawlbase“);

const API = neu CrawlingAPI({ Zeichen: 'IHR_CRAWLBASE_TOKEN' }); // Ersetzen Sie es durch Ihr Crawlbase-Token
const app = express();
const PORT = Prozess.env.PORT || 3000;

Funktion Parsen von Daten aus HTML(html) {
versuchen {
const $ = Prost.Belastung(html),
Kanal = {
Titel: '',
Beschreibung: '',
weltweit: '',
Image: '',
VideosAnzahl: '',
KanalHandle: '',
Videos[],
};

Kanal[‚Titel‘] = $(„#innerer-header-container .ytd-channel-name .ytd-channel-name:Erster“).Text().trimmen();
Kanal['Bezeichnung'] = $('#Endpunkt #Inhalt').Text().trimmen();
Kanal[„Abonnenten“] = $('#Abonnentenzahl').Text();
Kanal['Bild'] = $(„#Kanal-Header-Container #img“).attr('Quelle');
Kanal[„VideosAnzahl“] = $('#Anzahl der Videos').Text();
Kanal['KanalHandle'] = $(„.meta-item #channel-handle“).Text();

$(„#Inhalt #Scroll-Container #Elemente #abweisbar“).jeder((_, Element) => {
const Titel = $(Element).gefunden('#Videotitel').Text()
Ansichten = $(Element).gefunden('#Metadatenzeile').Text().ersetzen(/\s+/g, ''),
Bild = $(Element).gefunden(„.yt-core-bild“).attr('Quelle');

Kanal['Videos'].drücken({
Titel,
Ansichten,
Bild,
});
});

Rückkehr Kanal;
} Fang (Fehler) {
Rückkehr Fehler;
}
}

App.bekommen('/kratzen', (erforderlich, res) => {
Bienen
.bekommen(erforderlichquery.URL, {
Seite_warten: 7000,
ajax_wait: was immer dies auch sein sollte.,
})
.dann((Antwort) => {
const analysierteDaten = Parsen von Daten aus HTML(Antwort.Körper);

Rückkehr res.Status(200).JSON(analysierte Daten);
})
.Fang((Fehler) => {
trösten.Log(Fehler, 'FEHLER');
Rückkehr res.Status(500).senden({ Status: 'Fehlgeschlagen', msg: Fehler });
});
});

App.hören(PORT, () => trösten.Log(`Server läuft auf Port ${PORT}`));

Schritt 4. Testen der Web Scraping API mit Postman

Nachdem wir unseren Web Scraping-Code kompiliert haben, ist es an der Zeit, ihn mit Postman zu testen. Befolgen Sie diese Schritte, um sicherzustellen, dass Ihre API ordnungsgemäß funktioniert:

1. Starten Sie den Server lokal
Stellen Sie sicher, dass Ihr Express-Server lokal läuft auf localhost:3000. Wenn es nicht bereits ausgeführt wird, navigieren Sie im Terminal zu Ihrem Projektverzeichnis und führen Sie Folgendes aus:

1
Knoten index.js

2. Öffnen Sie Postman
Öffnen Sie die Postman-Anwendung auf Ihrem Computer. Wenn Sie Postman nicht installiert haben, können Sie es herunterladen HIER.

3. Neue Anfrage erstellen

  • Klicken Sie oben links in Postman auf „Arbeitsbereiche“ und konfigurieren Sie Ihren neuen Arbeitsbereich.
  • Erstellen Sie eine „unbenannte Anfrage“, indem Sie oben auf die Schaltfläche mit dem Pluszeichen klicken.

4. Konfigurieren Sie die Anfrage

  • Wählen Sie als Anforderungstyp „GET“.
  • Geben Sie die Ziel-URL (verschlüsselt) in der Adressleiste: http://localhost:3000/scrape?url=https%3A%2F%2Fwww.youtube.com%2F%40Netflix.
Daten abrufen Postbote

5. Senden Sie die Anfrage

  • Klicken Sie auf die Schaltfläche „Senden“, um die Anfrage zu starten.

6. Überprüfen Sie die Antwort und validieren Sie die Daten

  • Postman zeigt die Antwort Ihrer API an. Überprüfen Sie, ob die Antwort die erwarteten Daten enthält, die aus dem angegebenen YouTube-Kanal extrahiert wurden.

Beispielantwort:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
{
„Titel“: "Netflix",
„Beschreibung“: „Rotes Licht. Grünes Licht.“,
"Abonnenten": „27.3 Millionen Abonnenten“,
"Bild": "https://yt3.googleusercontent.com/ytc/APkrFKYV4KHgrKl8ayyBOnJlJw0C3VXeraba0mSqtltECA=s176-c-k-c0x00ffffff-no-rj",
"VideosAnzahl": „6.8K Videos“,
"KanalHandle": „@Netflix“,
"Videos": [
{
„Titel“: „Ilary Blasi: Die Einzig Wahre | Offizieller Trailer | Netflix“,
"Ansichten": „56KAufrufevor 6 Tagen“,
"Bild": "https://i.ytimg.com/vi/pNY3NkGX6e8/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLA6_KosRbpJ7NLxlyAZeL4C6ZqhZg"
},
{
„Titel“: „Verifizierter Stand-Up | Offizieller Trailer | Netflix“,
"Ansichten": „50KAufrufevor 11 Tagen“,
"Bild": "https://i.ytimg.com/vi/gMIvGpHd2dk/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLCfmEuagaIL80K3f3XL631ASMguPw"
},
{
„Titel“: „Last Call for Istanbul | Offizieller Trailer | Netflix“,
"Ansichten": „436 Aufrufe vor 2 Wochen“,
"Bild": "https://i.ytimg.com/vi/KlQo-S7TZ3I/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBCNJRxYOO8ST82dLIx1sqcjkmAFQ"
},
{
„Titel“: „The Netflix Cup | Formel 1 + PGA TOUR – LIVE | Paarungen und Begegnungen | Netflix“,
"Ansichten": „40 Aufrufe vor 2 Wochen“,
"Bild": "https://i.ytimg.com/vi/eGDdhueNTuo/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLAGzMzj29kazvPZJ9lX6cczU_VAnw"
},
{
„Titel“: „Scott Pilgrim hebt ab | Letzter Trailer | Netflix“,
"Ansichten": „759 Aufrufe vor 2 Wochen“,
"Bild": „https://i.ytimg.com/vi/WAlPGYYyhUw/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBZxurgeerIiGfCSZ_z_wFUUahDlQ“
},
{
„Titel“: „Selling Sunset | Wiedersehenstrailer zur 7. Staffel | Netflix“,
"Ansichten": „145 Aufrufe vor 2 Wochen“,
"Bild": "https://i.ytimg.com/vi/PND1kQt4gCY/hqdefault.jpg?sqp=-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBXEqoebRCYAmjvbpWiJHroWFfozA"
},
{
„Titel“: „Squid Game: Die Herausforderung | Exklusiver Clip | Netflix“,
"Ansichten": „294KAufrufevor 7 Tagen“
},
{
„Titel“: „Was ist der Preis dafür, keine Moral zu haben? | Squid Game: The Challenge | Netflix“,
"Ansichten": „10KAufrufevor 11 Tagen“
},
{
„Titel“: „Squid Game: The Challenge | BTS mit Squid Game-Erfinder Hwang Dong-hyuk | Netflix“,
"Ansichten": „89 Aufrufe vor 2 Wochen“
},
{
„Titel“: „Squid Game: The Challenge | Offizieller Trailer | Netflix“,
"Ansichten": „4.9 Millionen Aufrufe vor 1 Monat“
},
{
„Titel“: „Erster Blick auf #SquidGame: The Challenge“,
"Ansichten": „389 Aufrufe vor 5 Monaten“
},
{
„Titel“: „Squid Game: The Challenge | Offizieller Teaser | Netflix“,
"Ansichten": „1.9 Mio. Aufrufe vor 2 Monaten“
},
{
„Titel“: „BERLIN | Offizieller Trailer | Netflix“,
"Ansichten": „26 Aufrufe vor 41 Minuten“
},
{
„Titel“: „Obliterated | Clip: Ankunft auf der Basis | Netflix“,
"Ansichten": „30 Aufrufe vor 20 Stunden“
},
...
]
}

7. Daten validieren

  • Überprüfen Sie die extrahierten Daten, einschließlich Kanaltitel, Beschreibung, Abonnentenzahl, Videoanzahl und Videodetails. Stellen Sie sicher, dass die Informationen mit dem Inhalt der bereitgestellten YouTube-Kanal-URL übereinstimmen.

8. Auf Fehler prüfen

  • Wenn die Antwort Fehler enthält, überprüfen Sie die von Ihrem Server bereitgestellten Fehlermeldungen. Ausführliche Informationen finden Sie in der Postman-Konsole.

VI. Fazit

Herzlichen Glückwunsch zur erfolgreichen Erstellung Ihres YouTube Channel Scraper mit dem Crawling API und Cheerio! Dieser Blog hat Sie durch die Schritte zum Erstellen einer leistungsstarken Web Scraping-Lösung geführt.

Nachdem Sie nun die Crawling APIFlexibilität, wir ermutigen Sie, weiter zu erkunden. Experimentieren Sie mit anderen Websites, passen Sie Ihre Scraping-Logik an und schöpfen Sie das volle Potenzial der Crawling API für unterschiedliche Datenerfassungsanforderungen.

Wenn Sie an anderen Scraping-Projekten mit JavaScript interessiert sind, empfehlen wir die folgenden Tutorials:

Amazon SERP Scraping mit Next.js
AliExpress-Suchseiten-Scraping mit JavaScript
Scraping von Twitter-Profilen zur Einflussanalyse

Wenn Sie sich für das Scraping anderer Social-Media-Plattformen interessieren, lesen Sie unsere Anleitungen zum Scraping. Facebook, Linkedin, Twitter, Reddit, Instagram.

Weitere Funktionen und Anpassungsmöglichkeiten finden Sie im Crawling API Dokumentation. Ob Sie Forschung betreiben, Wettbewerbsanalysen durchführen oder Markttrends verfolgen, die Crawling API bietet eine optimierte Möglichkeit, wertvolle Daten aus dem Web zu extrahieren.

Wenn Sie Fragen oder Feedback haben, kontaktieren Sie bitte den Crawlbase-SupportkanalVielen Dank für die Wahl der Crawling API, und viel Glück bei Ihren Web-Scraping-Unternehmungen!

VII. Häufig gestellte Fragen

F: Kann ich die verwenden Crawling API um mehrere Websites zu scrapen?

A: Ja, der Crawling API unterstützt das Scraping von Daten von mehreren Websites. Ändern Sie einfach Ihren Code, um je nach Ihren Anforderungen Anfragen an verschiedene URLs zu stellen. Beachten Sie die Tarifgrenzen und Richtlinien Crawling API sorgt für einen reibungslosen Ablauf.

F: Ist das Crawling API zum Scraping dynamischer Websites geeignet?

A: Ja, der Crawling API ist für die Handhabung dynamischer Websites konzipiert. Es unterstützt JavaScript-Rendering (Headless Browser) und Funktionen wie AJAX und Seitenwartezeiten, sodass Sie Inhalte von Websites scrapen können, die Daten dynamisch laden.

F: Kann ich die verwenden Crawling API mit anderen Bibliotheken und Tools?

A: Absolut! Das Crawling API kann nahtlos in verschiedene Bibliotheken und Tools integriert werden. In diesem Blog haben wir die Integration mit Cheerio für HTML-Parsing demonstriert. Nutzen Sie gerne die Crawlbase-Bibliotheken und SDKs und erkunden Sie andere Kombinationen, die Ihren Vorlieben und Projektanforderungen entsprechen.

F: Kann ich die verwenden Crawling API für kommerzielle Zwecke?

A: Ja, der Crawling API kann sowohl für persönliche als auch kommerzielle Zwecke verwendet werden. Beachten Sie jedoch Crawling API Nutzungsbedingungen und Richtlinien zur Vermeidung von Verstößen.

F: Erlaubt YouTube Scraping?

A: Das Scraping öffentlicher YouTube-Daten ist zulässig. Allerdings ist es wichtig, die Nutzungsbedingungen von YouTube zu überprüfen und einzuhalten. Das Scraping öffentlicher Daten gilt als legal, solange die Scraping-Aktivitäten den normalen Betrieb der Website nicht stören. Stellen Sie sicher, dass die von Ihnen extrahierten Daten öffentlich sind und sicher gespeichert werden.