Sie kennen das Szenario vermutlich: Eine Website lädt ihre Inhalte erst beim Scrollen nach, versteckt Preise hinter einem Login oder krempelt ihr Layout gefühlt jede zweite Woche um. Statische Scraper stoßen hier schnell an ihre Grenzen. Inzwischen setzen über 67 % der US-amerikanischen Anlageberater auf Web Scraping für alternative Daten, und 81 % der US-Händler automatisieren die Preisüberwachung der Wettbewerber. Das Problem: Ein Großteil dieser Daten liegt auf dynamischen Websites, wird per JavaScript nachgeladen und steckt hinter Nutzerinteraktionen. An dieser Stelle werden Headless-Browser-Automatisierung und Tools wie Puppeteer unverzichtbar.
Ich arbeite seit Jahren mit Automatisierung und KI-Tools – und ja, für Sales- und Operations-Teams habe ich auch meinen Anteil an Websites gescrapt. Dabei habe ich aus erster Hand gesehen, wie Puppeteer Daten freilegt, die klassische Scraper schlicht übersehen. Genauso oft habe ich aber erlebt, wie der Programmieraufwand für Business-Anwender zum Ausschlusskriterium wird. Deshalb zeige ich Ihnen in diesem Leitfaden genau, was ein Puppeteer-Scraper ist, wie Sie ihn fürs Web Scraping einsetzen und wann Sie vielleicht doch zu etwas Einfacherem greifen sollten – etwa zu Thunderbit, unserem KI-gestützten Web-Scraper ganz ohne Programmierung.
Was ist ein Puppeteer-Scraper? Ein kurzer Überblick
Beginnen wir bei den Grundlagen. Puppeteer ist eine quelloffene Node.js-Bibliothek von Google, mit der Sie einen Headless-Chrome- oder Chromium-Browser per JavaScript steuern. Stellen Sie es sich wie einen Roboter vor, der Webseiten öffnet, Buttons klickt, Formulare ausfüllt, scrollt und – vor allem – Daten extrahiert, ohne dass auf dem Bildschirm überhaupt etwas zu sehen ist.
Was Puppeteer auszeichnet:
- Es kann dynamische Inhalte rendern – es wartet also auf das geladene JavaScript, genau wie ein echter Nutzer.
- Es kann Nutzeraktionen simulieren: klicken, tippen, scrollen und sogar Pop-ups behandeln.
- Es ist perfekt für Websites, auf denen Daten erst nach einer Interaktion auftauchen – etwa bei E-Commerce-Listings, Social Feeds oder Dashboards.
Wie schlägt es sich im Vergleich zu anderen Tools?
- Selenium: Der Klassiker der Browser-Automatisierung. Läuft mit vielen Browsern und Sprachen, wirkt aber schwergewichtiger und etwas altbacken. Für Cross-Browser-Tests ist es stark, für Chrome-/Node.js-Projekte reagiert Puppeteer oft flotter.
- Thunderbit: Und genau hier wird es für mich interessant. Thunderbit ist ein KI-gestützter Web-Scraper ohne Programmierung, der direkt in Ihrem Browser läuft. Statt Skripte zu schreiben, klicken Sie auf „KI-Felder vorschlagen“ und lassen die KI entscheiden, was extrahiert werden soll. Ideal für Business-Anwender, die Ergebnisse ohne Code wollen (mehr dazu später).
Kurz gesagt: Puppeteer = maximale Kontrolle (wenn Sie programmieren). Thunderbit = maximaler Komfort (wenn Sie nicht programmieren wollen).
Warum Puppeteer-Web-Scraping für Business-Anwender wichtig ist
Was ist Data Scraping und wie funktioniert es im Jahr 2026? Get Started Free
Web Scraping ist längst keine Spielwiese mehr nur für Hacker oder Data Scientists. Teams aus Vertrieb, Operations, Marketing und sogar der Immobilienbranche nutzen Webdaten, um sich einen Vorsprung zu verschaffen. Und weil so viele geschäftskritische Informationen auf dynamischen Websites verborgen liegen, ist Puppeteer häufig der Schlüssel, um sie zugänglich zu machen.
Ein paar typische Anwendungsfälle aus der Praxis:
| Anwendungsfall | Wer profitiert | Auswirkung / ROI |
|---|---|---|
| Lead-Generierung | Vertrieb, Business Development | Automatisierter Aufbau von Prospect-Listen; spart pro Vertriebsmitarbeiter über 8 Stunden pro Woche (Fallstudie) |
| Preisüberwachung | E-Commerce, Produkt-Operations | Wettbewerber in Echtzeit verfolgen; ein Unternehmen sparte 3,8 Mio. USD pro Jahr (Quelle) |
| Marktforschung | Marketing, Strategie, Finanzen | 67 % der Anlageberater nutzen gescrapte Webdaten; in manchen Fällen bis zu 890 % ROI (Quelle) |
| Immobilien-Aggregation | Makler, Analysten | Über 50 Immobilienseiten in Minuten statt Stunden scrapen (Quelle) |
| Compliance-Tracking | Operations, Recht | Überwachung automatisieren; ein Versicherer vermied 50 Mio. USD an Strafzahlungen (Quelle) |
Dazu kommt: Über 40 % der Beschäftigten verbringen ein Viertel ihrer Arbeitswoche mit repetitiven Aufgaben wie der Dateneingabe. Wer das per Web Scraping automatisiert, gewinnt einen echten Wettbewerbsvorteil – nicht nur ein nettes Extra.
Erste Schritte: So richten Sie Ihren Puppeteer-Scraper ein
Auf geht's. So bringen Sie Puppeteer in unter 10 Minuten zum Laufen – vorausgesetzt, ein bisschen JavaScript schreckt Sie nicht ab:
1. Node.js installieren
Puppeteer läuft auf Node.js. Laden Sie die aktuelle LTS-Version von nodejs.org herunter.
2. Einen neuen Projektordner erstellen
Öffnen Sie Ihr Terminal und führen Sie aus:
mkdir puppeteer-scraper-demo
cd puppeteer-scraper-demo
npm init -y
3. Puppeteer installieren
npm install puppeteer
Dabei wird auch eine kompatible Chromium-Version heruntergeladen (etwa 100 MB).
4. Ihr erstes Skript erstellen
Legen Sie eine Datei mit dem Namen scrape.js an:
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://example.com', { waitUntil: 'domcontentloaded' });
const title = await page.title();
console.log('Seitentitel:', title);
await browser.close();
})();
Starten Sie es mit:
node scrape.js
Wenn „Seitentitel: Example Domain“ erscheint, Glückwunsch – Sie haben gerade Chrome automatisiert!
Ihr erstes Puppeteer-Web-Scraping-Skript bauen
Jetzt wird es praktisch. Nehmen wir an, Sie möchten Zitate von quotes.toscrape.com scrapen, einer Demo-Website für Scraper.
Schritt 1: Zur Seite navigieren
await page.goto('http://quotes.toscrape.com', { waitUntil: 'networkidle0' });
Schritt 2: Daten extrahieren
const quotes = await page.evaluate(() => {
return Array.from(document.querySelectorAll('.quote')).map(node => ({
text: node.querySelector('.text')?.innerText.trim(),
author: node.querySelector('.author')?.innerText.trim(),
tags: Array.from(node.querySelectorAll('.tag')).map(tag => tag.innerText.trim())
}));
});
console.log(quotes);
Schritt 3: Paginierung behandeln
let hasNext = true;
let allQuotes = [];
while (hasNext) {
// Zitate wie oben extrahieren
const quotes = await page.evaluate(/* ... */);
allQuotes.push(...quotes);
const nextButton = await page.$('li.next > a');
if (nextButton) {
await Promise.all([
page.click('li.next > a'),
page.waitForNavigation({ waitUntil: 'networkidle0' })
]);
} else {
hasNext = false;
}
}
Schritt 4: In JSON speichern
const fs = require('fs');
fs.writeFileSync('quotes.json', JSON.stringify(allQuotes, null, 2));
Und damit haben Sie einen einfachen Puppeteer-Scraper, der navigiert, extrahiert, Seiten durchläuft und Daten speichert.
Fortgeschrittene Puppeteer-Scraper-Techniken: Dynamische Inhalte handhaben
Die meisten realen Websites sind eben nicht so simpel wie eine statische Liste. So meistern Sie die kniffligen Fälle:
1. Auf dynamische Elemente warten
await page.waitForSelector('.product-list-item');
So stellen Sie sicher, dass die gewünschten Inhalte geladen sind, bevor Sie versuchen, sie abzurufen.
2. Nutzeraktionen simulieren
- Einen Button klicken:
await page.click('#load-more'); - In ein Feld tippen:
await page.type('#search', 'laptop'); - Für Infinite Scroll scrollen:
// Hinweis: page.waitForTimeout wurde in Puppeteer v22 entfernt. Verwenden Sie stattdessen einfach ein Promise. const sleep = (ms) => new Promise(r => setTimeout(r, ms)); let previousHeight = await page.evaluate('document.body.scrollHeight'); while (true) { await page.evaluate('window.scrollTo(0, document.body.scrollHeight)'); await sleep(1500); const newHeight = await page.evaluate('document.body.scrollHeight'); if (newHeight === previousHeight) break; previousHeight = newHeight; }
**3. Logins handhaben**
```javascript
await page.goto('https://exampleshop.com/login');
await page.type('#login-username', 'myusername');
await page.type('#login-password', 'mypassword');
await page.click('#login-button');
await page.waitForNavigation({ waitUntil: 'networkidle0' });
4. Mit per AJAX geladenen Daten umgehen Manchmal stehen die Daten nicht im DOM, sondern kommen über einen API-Call. Netzwerkantworten fangen Sie so ab:
page.on('response', async response => {
if (response.url().includes('/api/products')) {
const data = await response.json();
// Daten verarbeiten
}
});
Praxisbeispiel: Produktdaten von einer E-Commerce-Website scrapen
Bringen wir alles zusammen. Angenommen, Sie möchten nach dem Login Produktnamen, Preise und Bilder von einer (Demo-)E-Commerce-Website scrapen.
const puppeteer = require('puppeteer');
const fs = require('fs');
(async () => {
const browser = await puppeteer.launch({ headless: true });
const page = await browser.newPage();
// Schritt 1: Anmelden
await page.goto('https://exampleshop.com/login');
await page.type('#login-username', 'myusername');
await page.type('#login-password', 'mypassword');
await page.click('#login-button');
await page.waitForNavigation({ waitUntil: 'networkidle0' });
// Schritt 2: Zur Kategorieseite gehen
await page.goto('https://exampleshop.com/category/laptops', { waitUntil: 'networkidle0' });
// Schritt 3: Produkte extrahieren
const products = await page.evaluate(() => {
return Array.from(document.querySelectorAll('.product-item')).map(item => ({
name: item.querySelector('.product-title')?.innerText.trim() || '',
price: item.querySelector('.product-price')?.innerText.trim() || '',
image: item.querySelector('img.product-image')?.src || ''
}));
});
// Schritt 4: In JSON speichern
fs.writeFileSync('products.json', JSON.stringify(products, null, 2));
await browser.close();
})();
Dieses Skript meldet sich an, navigiert, scrapt und speichert – alles automatisch. Für anspruchsvollere Anforderungen ergänzen Sie Paginierungsschleifen oder klicken sogar in jedes Produkt hinein, um mehr Details zu erfassen.
Thunderbit: Puppeteer-Scraper mit KI einfacher machen
Thunderbit-Chrome-Erweiterung ausprobieren Scrapen Sie jede Website mit KI in 2 Klicks. Get Started Free
Wenn Sie bis hierhin mitgelesen haben und denken: „Klingt gut, aber ich will nicht jedes Mal Code schreiben, sobald ich einen neuen Datensatz brauche“ – damit sind Sie nicht allein. Genau aus diesem Grund haben wir Thunderbit entwickelt.
Was macht Thunderbit anders?
- Kein Code erforderlich: Installieren Sie einfach die Thunderbit-Chrome-Erweiterung, öffnen Sie die Seite, die Sie scrapen möchten, und klicken Sie auf „KI-Felder vorschlagen“.
- KI-gestützte Felderkennung: Thunderbit liest die Seite und schlägt die besten Spalten vor – etwa „Produktname“, „Preis“, „Bild“ und so weiter.
- Beherrscht dynamische Inhalte: Infinite Scroll, Pop-ups und Unterseiten? Thun derbit-KI kommt damit zurecht, klickt sich durch die Paginierung oder besucht sogar jede Produktdetailseite, um Ihre Daten anzureichern.
- Sofortiger Export: Senden Sie Ihre Daten mit einem Klick direkt an Excel, Google Sheets, Notion oder Airtable. Exporte kosten nichts extra.
- Vorlagen für beliebte Websites: Sie möchten Amazon, Zillow oder LinkedIn scrapen? Thunderbit hat sofort einsatzbereite Vorlagen – kein Setup nötig.
- Scraping in der Cloud oder im Browser: Für große Aufgaben kann Thunderbit in der Cloud bis zu 50 Seiten gleichzeitig scrapen.
Ich habe Nutzer erlebt, die in weniger als fünf Minuten von „Ich wünschte, ich käme an diese Daten“ zu „Hier ist meine Tabelle“ gekommen sind. Und der größte Pluspunkt: kein Stress mehr mit kaputten Skripten, sobald sich die Website ändert – Thunderbits KI passt sich spontan an.
Thunderbit AI Web Scraper kostenlos testen
Puppeteer vs. Thunderbit: Das richtige Web-Scraping-Tool wählen
Und was sollten Sie nun einsetzen? So würde ich es für Teams einordnen:
| Faktor | Puppeteer (Code) | Thunderbit (No-Code, KI) |
|---|---|---|
| Benutzerfreundlichkeit | Erfordert JavaScript- und DOM-Kenntnisse | Klicken statt tippen, KI schlägt Felder vor |
| Einrichtungsgeschwindigkeit | Stunden bis Tage bei komplexen Aufgaben | Minuten – einfach installieren und loslegen |
| Kontrolle/Flexibilität | Maximal: beliebige Logik skripten, mit anderem Code integrieren | Hoch für Standardfälle; weniger geeignet für sehr individuelle Workflows |
| Dynamische Inhalte | Manuelles Skripten für Wartezeiten, Klicks und Scrollen | Integrierte KI verarbeitet dynamische Inhalte, Paginierung und Unterseiten automatisch |
| Wartung | Sie besitzen die Skripte – Updates bei Website-Änderungen selbst einbauen | KI passt sich Layout-Änderungen an; weniger Pflegeaufwand für Nutzer |
| Datenexport | Eigene Exportlogik schreiben | Export mit einem Klick nach Excel, Sheets, Notion, Airtable, CSV, JSON |
| Am besten geeignet für | Entwickler, stark individualisierte oder groß angelegte Scrapes | Business-Anwender, Projekte mit kurzer Laufzeit, nicht-technische Teams |
| Kosten | Kostenlos (abgesehen von Ihrer Zeit und ggf. Infrastruktur) | Kostenloser Plan verfügbar; kostenpflichtige Tarife nach Credits (siehe Thunderbit-Preise) |
Kurzfazit:
- Nutzen Sie Puppeteer, wenn Sie volle Kontrolle brauchen, über Programmierressourcen verfügen oder Scraping in eine größere App integrieren möchten.
- Nutzen Sie Thunderbit, wenn Sie schnell Ergebnisse wollen, nicht programmieren möchten oder nicht-technische Teammitglieder befähigen wollen.
Ehrlich gesagt habe ich Teams oft beides parallel nutzen sehen: Thunderbit für schnelle Ergebnisse und Prototypen, Puppeteer für tiefe Integrationen oder Sonderfälle.
Schritt-für-Schritt-Checkliste: Ein erfolgreiches Puppeteer-Web-Scraping-Projekt durchführen
Hier ist meine Standard-Checkliste für ein reibungsloses Puppeteer-Scraping-Projekt:
- Ziele definieren: Welche Daten brauchen Sie? Wo liegen sie?
- Website analysieren: Ist sie dynamisch? Braucht sie ein Login? Gibt es Anti-Bot-Maßnahmen?
- Umgebung einrichten: Node.js, Puppeteer und alle Hilfsbibliotheken.
- Einen Proof of Concept schreiben: Mit einer Seite starten, die Selektoren sauber hinbekommen.
- Dynamische Inhalte behandeln:
waitForSelectorverwenden, Klicks/Scrollen nach Bedarf simulieren. - Paginierung oder Schleifen ergänzen: Alle Seiten scrapen, nicht nur eine.
- Anti-Blocking-Taktiken umsetzen: Verzögerungen zufällig variieren, einen echten User-Agent setzen, bei Bedarf Proxys nutzen.
- Daten exportieren und prüfen: Als JSON/CSV speichern und auf Vollständigkeit prüfen.
- Optimieren und Fehler abfangen:
try/catcheinbauen, Fortschritt protokollieren, fehlende Daten sauber behandeln. - Überwachen und pflegen: Websites ändern sich – halten Sie Ihr Skript aktuell.
Tipps zur Fehlerbehebung:
- Wenn Selektoren
nullzurückgeben, prüfen Sie das HTML und arbeiten Sie mit Wartezeiten. - Wenn Sie blockiert werden, verlangsamen Sie die Abfragen, rotieren Sie IPs oder nutzen Sie Stealth-Plugins.
- Wenn Ihr Skript abstürzt, prüfen Sie auf Speicherlecks oder unbehandelte Ausnahmen.
Fazit und wichtigste Erkenntnisse
Für datengetriebene Teams ist Web Scraping zu einer unverzichtbaren Fähigkeit geworden. Puppeteer erschließt Ihnen Daten selbst von den dynamischsten, JavaScript-lastigen Websites – verlangt dafür aber Programmierkenntnisse und laufende Pflege. Für Business-Anwender, die ohne Code direkt an die Daten wollen, bietet Thunderbit eine KI-gestützte Alternative ganz ohne Programmierung: schnell, flexibel und überraschend robust.
Meine Empfehlung:
- Wenn Sie technisch versiert sind und tiefgehende Anpassungen brauchen, beginnen Sie mit Puppeteer.
- Wenn Sie Tempo, Einfachheit und weniger Wartung wollen, probieren Sie Thunderbit aus (die kostenlose Chrome-Erweiterung ist ein guter Startpunkt).
- Für die meisten Teams deckt eine Mischung aus beidem 99 % aller Anforderungen an Webdaten ab.
Sie möchten weitere Leitfäden wie diesen? Schauen Sie im Thunderbit-Blog vorbei – mit Tutorials, Vergleichen und den neuesten Entwicklungen im KI-gestützten Web Scraping.
Thunderbit AI Web Scraper ausprobieren Get Started Free
FAQs
1. Was ist ein Puppeteer-Scraper und warum wird er für Web Scraping verwendet?
Puppeteer ist eine Node.js-Bibliothek, mit der Sie einen Headless-Chrome-Browser per JavaScript steuern können. Sie wird für Web Scraping eingesetzt, weil sie dynamische Inhalte laden, Nutzeraktionen simulieren und Daten von Websites extrahieren kann, die traditionelle Scraper nicht bewältigen.
2. Wie schneidet Puppeteer im Vergleich zu Selenium und Thunderbit ab?
Selenium funktioniert mit mehreren Browsern und Sprachen, ist aber umfangreicher. Puppeteer ist für Chrome/Node.js optimiert und bei vielen Scraping-Aufgaben schneller. Thunderbit hingegen ist ein No-Code-Tool mit KI, mit dem auch nicht-technische Nutzer Daten mit nur wenigen Klicks scrapen können.
3. Was sind die wichtigsten geschäftlichen Vorteile von Puppeteer-Web-Scraping?
Die Automatisierung der Datenerfassung spart Zeit, reduziert Fehler und ermöglicht Echtzeit-Einblicke für Vertrieb, Marketing, Operations und mehr. Die Anwendungsfälle reichen von Lead-Generierung über Preisüberwachung bis hin zu Marktforschung.
4. Was sind die größten Herausforderungen beim Scraping mit Puppeteer?
Die Hauptprobleme sind dynamische Inhalte, Anti-Bot-Sperren und die Pflege von Skripten, wenn sich Websites ändern. Sie müssen Code schreiben, um Wartezeiten zu steuern, Interaktionen zu simulieren und Fehler zu behandeln.
5. Wann sollte ich Thunderbit statt Puppeteer verwenden?
Nutzen Sie Thunderbit, wenn Sie ohne Code arbeiten möchten, schnell Ergebnisse brauchen oder nicht-technische Teammitglieder befähigen wollen. Es ist ideal für Standard-Scraping-Aufgaben, kurzfristige Projekte oder wenn Sie Daten mit minimalem Aufwand nach Excel oder Google Sheets exportieren möchten.
Bereit für eine intelligentere Art des Scrapens? Thunderbit herunterladen oder noch tiefer einsteigen mit weiteren Leitfäden im Thunderbit-Blog. Viel Erfolg beim Scrapen!
Mehr erfahren
- Was ist Puppeteer? Ein umfassender Leitfaden für Anfänger
- Puppeteer vs. Selenium: Was es ist und welche Playwright-Alternativen es gibt
- JavaScript-Crawling meistern: Ein Leitfaden für Anfänger
- Schritt-für-Schritt-Anleitung zum Web Scraping mit JavaScript
- Dynamische Webseiten scrapen: Eine vollständige Anleitung


