JavaScript Web-Scraper erstellen: Schritt-für-Schritt-Anleitung

Zuletzt aktualisiert am June 18, 2026
How to build a JavaScript web scraper step-by-step guide with abstract spider and circuit graphic

Das Web quillt über vor Daten – und wer im Business- oder Tech-Bereich arbeitet oder einfach neugierig ist, hat sich bestimmt schon gewünscht, Informationen in großen Mengen von einer Website zu holen, ohne den halben Nachmittag mit Kopieren und Einfügen zu verbringen. Eine Zahl macht das Ausmaß deutlich: Bis 2025 bestehen fast die Hälfte des gesamten Internetverkehrs aus Bots, die das Web nach Daten durchsuchen und scrapen, und über 70 % der digitalen Unternehmen verlassen sich für Marktinformationen und operative Abläufe auf öffentliche Webdaten (Thunderbit). So sehr der Bedarf an Webdaten auch wächst – das eigentliche Extrahieren bleibt oft mühsam, gerade bei den dynamischen, von JavaScript gesteuerten Websites von heute.

Genau hier kommt JavaScript ins Spiel. Als Sprache des Webs ist JavaScript wie gemacht für dynamische, interaktive Seiten, an denen klassische Scraper scheitern. Ob du als Entwickler Recherchen automatisieren willst, als Sales-Profi Lead-Listen aufbaust oder einfach gern experimentierst: Dieser Leitfaden zeigt dir alles Wichtige zum Aufbau eines JavaScript-Web-Scrapers – von den Grundlagen bis zu fortgeschrittenen Techniken, und sogar, wie du den Code komplett umgehst mit KI-Tools wie Thunderbit.

JavaScript-Scraper-Grundlagen: Was ist Web Scraping mit JavaScript?

Was ist Data Scraping und wie funktioniert es 2026? Get Started Free

Fangen wir mit den Grundlagen an. Web Scraping ist der Prozess, bei dem automatisch Informationen von Websites extrahiert werden. Stell dir einen superschnellen Assistenten vor, der Hunderte von Seiten besucht, die benötigten Daten kopiert und sie in einer sauberen Tabelle organisiert – ohne je über Karpaltunnelsyndrom zu klagen.

Ein JavaScript-Scraper ist einfach ein Web-Scraper, der mit JavaScript gebaut wurde. JavaScript-Scraper lassen sich auf zwei Hauptarten ausführen:

  • Im Browser: Skripte direkt in der Browser-Konsole ausführen oder Browser-Erweiterungen nutzen, um Daten von der gerade geöffneten Seite abzurufen.
  • Serverseitig (Node.js): JavaScript außerhalb des Browsers verwenden (dank Node.js), um Webseiten abzurufen, ihren Inhalt zu parsen und Daten programmgesteuert zu extrahieren.

Warum ist das für Business-Nutzer wichtig? Weil Web Scraping ganz unterschiedliche Aufgaben antreibt – von Lead-Generierung (Kontakte aus Verzeichnissen ziehen) über Preis-Monitoring (Wettbewerber im Blick behalten) bis hin zu Marktforschung (Bewertungen, News oder Trends sammeln). Tatsächlich arbeiten allein 48 % der Web-Scraping-Nutzer im E-Commerce (Thunderbit). Wenn du es im Browser sehen kannst, holt ein JavaScript-Scraper es dir wahrscheinlich auch.

Warum Web Scraping mit JavaScript? Die wichtigsten Vorteile für moderne Websites

js-web-scraping-overview.png Warum also JavaScript zum Scrapen verwenden, gerade wo Python in der Data-Science-Welt so viel Liebe bekommt? Der Grund ist einfach: Moderne Websites werden von JavaScript angetrieben. Sie laden Inhalte dynamisch, rufen Daten erst nach dem Laden der Seite ab und verlangen oft Nutzerinteraktionen wie „Mehr laden“ klicken oder scrollen. JavaScript-Scraper können:

  • Dynamische Inhalte verarbeiten: Da JavaScript die Sprache ist, die in deinem Browser läuft, kann es Inhalte sehen und mit ihnen interagieren, die erst nach dem Ausführen von Skripten erscheinen.
  • Echtes Nutzerverhalten nachahmen: Tools wie Puppeteer ermöglichen es, Klicks, Scrollen und sogar Logins zu automatisieren – genau wie ein Mensch.
  • Nativ mit dem DOM arbeiten: JavaScript kann direkt auf die Struktur der Seite zugreifen und sie manipulieren, was das Extrahieren der genau benötigten Daten erleichtert.

Wie schlägt sich JavaScript im Vergleich zu anderen Sprachen? Hier ein kurzer Überblick:

FaktorJavaScript (Node.js)PythonPHP
Dynamische InhalteHervorragend – läuft nativ im Browser, ideal für JS-lastige SeitenBenötigt zusätzliche Tools (Selenium/Playwright)Eingeschränkt
Tempo/GleichzeitigkeitHoch – asynchrones Modell, viele Seiten parallel abrufbarGut, aber für Parallelität braucht es asyncio/ScrapyLangsamer, seltener
EinfachheitMittel – Web-Entwickler fühlen sich wohl, Async kann Anfänger stolpern lassenEinfacher für Einsteiger, viele TutorialsBasis, weniger flexibel
Browser-AutomatisierungErstklassig (Puppeteer, Playwright)Gut (Selenium, Playwright)Selten
Am besten fürDynamische, interaktive oder SPA-Seiten; Web-Dev-WorkflowsDatenanalyse, statische Seiten, schnelle SkripteEinfache statische Seiten

Wenn deine Zielseite eine Single-Page-App ist oder Daten erst beim Scrollen oder Klicken lädt, ist JavaScript oft das beste Werkzeug dafür (Rayobyte).

Dein erstes JavaScript-Scraper-Setup: Tools und Umgebung

Bereit, selbst loszulegen? So richtest du eine einfache JavaScript-Scraping-Umgebung ein – ganz ohne Frameworks.

  1. Node.js installieren
    Lade Node.js von nodejs.org herunter und installiere es. Damit kannst du JavaScript außerhalb des Browsers ausführen.

  2. Projekt initialisieren
    Öffne dein Terminal und führe aus:

    mkdir my-scraper
    cd my-scraper
    npm init -y
    
  3. Wichtige Bibliotheken installieren
    Nützlich sind:

    • axios oder node-fetch für HTTP-Anfragen
    • cheerio zum Parsen von HTML (denk daran wie an jQuery für den Server)
    npm install axios cheerio
    
  4. Zielwebsite untersuchen
    Öffne die Chrome DevTools (Rechtsklick > Untersuchen) und suche nach den HTML-Elementen, die deine Daten enthalten. Notiere dir ihre Klassen, IDs oder Tags.

Hier ist ein einfaches Starter-Skript:

const axios = require('axios');
const cheerio = require('cheerio');

async function scrapePage(url) {
  try {
    const { data: html } = await axios.get(url);
    const $ = cheerio.load(html);
    const pageTitle = $('head > title').text();
    console.log("Seitentitel:", pageTitle);
  } catch (err) {
    console.error("Scraping fehlgeschlagen:", err);
  }
}

scrapePage('https://example.com');

Starte es mit node scrape.js, und du siehst den Seitentitel ausgegeben. Nicht schlecht für ein paar Zeilen Code!

Einen einfachen JavaScript-Web-Scraper bauen: Schritt-für-Schritt-Anleitung

Lass uns etwas Nützlicheres bauen. Angenommen, du möchtest Buchtitel und Preise von books.toscrape.com scrapen – einer klassischen Übungsseite.

Schritt 1: Die Seite untersuchen

Jedes Buch steckt in einem <article class="product_pod">. Der Titel steht in <h3><a title="Book Title"></a></h3>, und der Preis in <p class="price_color">.

Schritt 2: Den Scraper schreiben

const axios = require('axios');
const cheerio = require('cheerio');

async function scrapeBooks() {
  const url = 'http://books.toscrape.com/';
  const { data: html } = await axios.get(url);
  const $ = cheerio.load(html);

  const books = [];
  $('article.product_pod').each((i, elem) => {
    const title = $(elem).find('h3 a').attr('title');
    const price = $(elem).find('.price_color').text();
    books.push({ title, price });
  });

  console.log(books);
}

scrapeBooks();

Dieses Skript ruft die Seite ab, parst das HTML, läuft durch jedes Buch und extrahiert Titel und Preis. Die Ausgabe? Ein ordentliches Array von Buchobjekten:

[
  { "title": "A Light in the Attic", "price": "£51.77" },
  { "title": "Tipping the Velvet", "price": "£53.74" }
]

Schritt 3: Für Paginierung erweitern

Willst du mehrere Seiten scrapen? Suche nach dem „Weiter“-Link und gehe die Seiten in einer Schleife durch, wobei du die URL jedes Mal aktualisierst. Mit etwas mehr Code kannst du die ganze Website scrapen.

Einen Schritt weitergehen: Dynamische Inhalte und Nutzerinteraktionen mit JavaScript verarbeiten

Jetzt kommt der spannende (und manchmal frustrierende) Teil: dynamische Inhalte. Viele moderne Websites zeigen nicht alle Daten direkt im anfänglichen HTML. Stattdessen laden sie sie nach dem Seitenaufruf per JavaScript oder verlangen Klicks bzw. Scrollen, um mehr zu sehen.

Cheerio und Axios sehen diese Inhalte nicht – sie bekommen nur das rohe HTML. Um dynamische Websites zu scrapen, brauchst du einen Headless Browser wie Puppeteer.

Puppeteer für fortgeschrittenes JavaScript-Web-Crawling nutzen

Mit Puppeteer kannst du Chrome (oder Chromium) per Code steuern. Du kannst:

  • Seiten öffnen
  • Auf das Laden von Elementen warten
  • Buttons klicken, Formulare ausfüllen, scrollen
  • Inhalte extrahieren, nachdem alle Skripte gelaufen sind

Hier ist ein einfaches Puppeteer-Skript:

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://example.com', { waitUntil: 'networkidle0' });
  await page.waitForSelector('.dynamic-content');

  const data = await page.evaluate(() => {
    return Array.from(document.querySelectorAll('.dynamic-content'))
      .map(el => el.textContent.trim());
  });

  console.log(data);
  await browser.close();
})();

Du kannst sogar Logins automatisieren, auf „Mehr laden“-Buttons klicken oder endloses Scrollen abarbeiten, indem du die Seite programmgesteuert scrollst und wartest, bis neuer Inhalt erscheint (Browserless).

Thunderbit: JavaScript-Scraping vereinfachen und verbessern

Seien wir ehrlich: Scraper von Grund auf zu schreiben ist mächtig, kostet aber Zeit, technisches Know-how und laufende Wartung. Genau deshalb bin ich so ein Fan von Thunderbit, unserer KI-gestützten Chrome-Erweiterung, die Web Scraping zu einer Sache von zwei Klicks macht.

Thunderbit ist für Business-Nutzer gebaut – ganz ohne Programmieren. So funktioniert es:

  • KI-Felder vorschlagen: Ein Klick, und die KI von Thunderbit scannt die Seite und schlägt die besten Spalten zum Extrahieren vor, etwa „Produktname“, „Preis“, „E-Mail“ usw.
  • Scraping in 2 Klicks: Prüfe die vorgeschlagenen Felder, klicke auf „Scrapen“, und Thunderbit holt alle Daten – inklusive Paginierung und Unterseiten automatisch.
  • Unterseiten- und Paginierungs-Unterstützung: Brauchst du mehr Details? Thunderbit kann Links zu Unterseiten folgen, etwa Produktdetails oder Profile, und diese Daten in deine Tabelle übernehmen.
  • Cloud- oder Browser-Modus: Scrape im Browser (ideal für eingeloggte Seiten) oder nutze Thunderbits Cloud für mehr Geschwindigkeit (bis zu 50 Seiten gleichzeitig).
  • Kostenloser, strukturierter Export: Exportiere deine Daten nach Excel, Google Sheets, Airtable, Notion, CSV oder JSON – immer kostenlos, ganz egal, wie viel du scrapest.

Thunderbit Chrome-Erweiterung kostenlos testen

Thunderbit in Aktion: Von der Datenextraktion bis zum Export

Nehmen wir an, du möchtest Kontaktinformationen aus einem Firmenverzeichnis extrahieren:

  1. Thunderbit installieren (Chrome-Erweiterung).
  2. Die Verzeichnisseite öffnen.
  3. Auf „KI-Felder vorschlagen“ klicken. Die KI von Thunderbit schlägt Spalten wie „Name“, „Telefon“, „Firma“ vor.
  4. Auf „Scrapen“ klicken. Thunderbit sammelt alle Daten, auch über mehrere Seiten hinweg.
  5. Nach Sheets oder Excel exportieren. Fertig.

Was früher Stunden dauerte oder einen Entwickler erforderte, dauert jetzt Minuten. Und weil Thunderbit KI nutzt, ist es widerstandsfähig gegen Änderungen am Website-Layout – keine kaputten Skripte mehr, jedes Mal wenn eine Seite aktualisiert wird (Thunderbit).

So lässt sich traditionelles JavaScript-Scraping mit Thunderbit vergleichen:

KriteriumManueller JS-ScraperFortgeschrittenes JS (Puppeteer)Thunderbit KI-Scraper
Benötigte KenntnisseProgrammierenFortgeschrittenes ProgrammierenKeine (Point-and-Click)
Dynamische InhalteEingeschränktHervorragendIntegriert
EinrichtungszeitStunden pro SeiteStunden bis TageSekunden bis Minuten
WartungHochHochGering (KI passt sich an)
ExportoptionenEigener CodeEigener Code1 Klick zu Excel/Sheets usw.
KostenKostenlos (zeitintensiv)Kostenlos (Hardware, Zeit)Kostenloser Tarif, dann ab 15 $/Monat

Fortgeschrittene Techniken: Komplexes Web Scraping mit JavaScript-Bibliotheken

advanced-js-scraping-overview.png Manchmal musst du weiter gehen – Daten hinter Logins scrapen, endloses Scrollen verarbeiten oder Anti-Scraping-Schutz umgehen.

  • Logins/Sessions: Mit Puppeteer kannst du das Einloggen automatisieren, indem du Formulare ausfüllst und Buttons klickst, und danach die Daten als authentifizierter Nutzer scrapen.
  • Endloses Scrollen: Scrolle die Seite programmatisch, warte auf neuen Inhalt und wiederhole das, bis alle Daten geladen sind (Browserless).
  • Anti-Scraping-Maßnahmen: Nutze Proxys, rotiere User-Agents und drossele deine Anfragen, um nicht blockiert zu werden. Über 95 % der Scraping-Fehler gehen auf Anti-Bot-Abwehr zurück (Thunderbit).

Profi-Tipp: Manchmal kannst du den Browser ganz umgehen, indem du die versteckten API-Endpunkte der Website findest (sieh im Network-Tab der DevTools nach). Wenn du JSON-Daten direkt abrufen kannst, wird dein Scraper deutlich schneller.

Deinen JavaScript-Web-Crawler optimieren und warten

Einen Scraper zu bauen ist nur die halbe Miete – ihn stabil am Laufen zu halten ist die andere Hälfte.

  • Asynchrone Verarbeitung: Verwende async/await und rufe Seiten parallel ab, aber überlaste den Server nicht.
  • Batch-Verarbeitung: Verarbeite Daten in Blöcken, um Speicherprobleme zu vermeiden.
  • Fehlerbehandlung: Fange Fehler ab, wiederhole fehlgeschlagene Anfragen und protokolliere Probleme zum Debuggen.
  • Paginierung: Erkenne „Weiter“-Links oder -Buttons und gehe die Seiten systematisch durch.
  • Robuste Selektoren: Nutze eindeutige IDs oder Klassen; vermeide fragile Selektoren, die bei Layout-Änderungen brechen.
  • Monitoring: Richte Warnmeldungen ein, falls dein Scraper plötzlich leere Daten oder Fehler liefert.

Best Practice: Scraping ist nie „einrichten und vergessen“. Plane regelmäßige Updates und Monitoring ein (Octoparse).

JavaScript-Scraping-Lösungen vergleichen: Traditionell vs. Thunderbit

Hier ein kurzer Vergleich für Business-Nutzer:

AnsatzTime to ValueBenötigte KenntnisseVerarbeitet dynamische InhalteWartungExportoptionenSkalierbarkeit
Manueller JS (Cheerio)LangsamProgrammierenNeinHochSelbst per Code bauenGut für statische
Fortgeschrittenes JS (Puppeteer)MittelProgrammieren+JaHochSelbst per Code bauenLangsamer pro Seite
ThunderbitSchnellKeineJa (KI-gestützt)Gering1 Klick zu Sheets/CSVCloud oder Browser

Für die meisten Business-Nutzer ist Thunderbit der schnellste Weg von „Ich brauche diese Daten“ zu „Hier ist meine Tabelle“.

Jede Website mit Thunderbit scrapen

Fazit und wichtigste Erkenntnisse

Einen JavaScript-Web-Scraper bauen zu können, ist ein echter Vorteil, wenn man heute mit Daten arbeitet. Das habe ich gelernt – und das empfehle ich:

  • Einfach anfangen: Nutze Cheerio und Axios für statische Websites.
  • Bei Bedarf fortgeschritten arbeiten: Nutze Puppeteer für dynamische, interaktive oder loginpflichtige Seiten.
  • Mit KI-Tools Zeit sparen: Für die meisten Business-Anforderungen lässt dich Thunderbit den Code überspringen und liefert Ergebnisse in Minuten.
  • Wartung einplanen: Websites ändern sich – deine Scraper sollten anpassungsfähig sein.
  • Immer ethisch scrapen: Beachte die Nutzungsbedingungen, überlaste keine Server und verwende Daten verantwortungsvoll.

Wenn du neugierig bist und Scraping ohne Kopfschmerzen ausprobieren willst, lade Thunderbits Chrome-Erweiterung herunter und sieh selbst, wie einfach es sein kann. Und wenn du tiefer einsteigen willst, findest du im Thunderbit-Blog weitere Anleitungen, Tipps und Praxisbeispiele.

Dann viel Erfolg beim Scrapen – und mögen deine Selektoren immer eindeutig sein!

KI-Web-Scraper testen Get Started Free

FAQs

1. Was ist ein JavaScript-Web-Scraper?
Ein JavaScript-Web-Scraper ist ein Programm (oder Skript), das in JavaScript geschrieben wurde und automatisch Daten von Websites extrahiert. Es kann im Browser oder auf dem Server (mit Node.js) laufen und eignet sich besonders gut für dynamische, stark von JavaScript abhängige Seiten.

2. Warum sollte man für Web Scraping JavaScript statt Python wählen?
JavaScript ist die Sprache des Webs und daher ideal für das Scrapen von Seiten, die Inhalte dynamisch laden oder Nutzerinteraktionen erfordern. Python ist großartig für statische Seiten und Datenanalyse, braucht aber für dynamische Inhalte zusätzliche Tools.

3. Welche Tools brauche ich, um einen JavaScript-Scraper zu bauen?
Für statische Seiten: Node.js, Axios (oder fetch) und Cheerio. Für dynamische Seiten: Puppeteer oder Playwright für Headless-Browser-Automatisierung hinzufügen. Für No-Code-Scraping: Thunderbit ausprobieren.

4. Wie vereinfacht Thunderbit Web Scraping?
Thunderbit nutzt KI, um Daten von jeder Website automatisch zu erkennen und zu extrahieren. Einfach auf „KI-Felder vorschlagen“ und dann auf „Scrapen“ klicken und die Daten exportieren – ganz ohne Programmierung oder mühsames Hantieren mit Selektoren.

5. Ist Web Scraping legal und ethisch?
Web Scraping ist legal, wenn es verantwortungsvoll gemacht wird – nur öffentlich verfügbare Daten scrapen, die Nutzungsbedingungen beachten und Server nicht überlasten. Vermeide das Scrapen personenbezogener Daten ohne Einwilligung und nutze Daten immer ethisch.

Willst du JavaScript-Scraping in Aktion sehen? Schau auf Thunderbits YouTube-Kanal für Tutorials vorbei oder entdecke mehr im Thunderbit-Blog.

Mehr erfahren

Shuai Guan
Shuai Guan
CEO bei Thunderbit | Experte für KI-gestützte Datenautomatisierung Shuai Guan ist CEO von Thunderbit und Absolvent der University of Michigan im Bereich Engineering. Mit fast zehn Jahren Erfahrung in Tech und SaaS-Architektur hat er sich darauf spezialisiert, komplexe KI-Modelle in praxisnahe No-Code-Tools zur Datenextraktion zu verwandeln. In diesem Blog teilt er ungefilterte, in der Praxis bewährte Einblicke in Web-Scraping- und Automatisierungsstrategien, damit Sie intelligentere, datengetriebene Workflows aufbauen können. Wenn er gerade keine Datenprozesse optimiert, widmet er dieselbe Liebe zum Detail seiner Leidenschaft für die Fotografie.
Topics
JavaScript Web-ScraperWeb Scraping mit JavaScriptJavaScript Web-Crawler
Inhaltsverzeichnis
Thunderbit · KI-Webdaten-Agent

Extract data from any page in 1 click

Vertrauen von über 250.000 Nutzern
Kostenloser Plan verfügbar
Daten mit KI extrahieren
Daten einfach in Google Sheets, Airtable oder Notion übertragen
Chrome Store Rating
PRODUCT HUNT#1 Product of the Week