Jestli jste už někdy zkoušeli získat data z webu, který načítá obsah až při scrollování, skrývá ceny za přihlášením nebo se zdá, že každých pár týdnů mění rozložení, víte, že je to pořádná výzva. Statické scrapery už prostě nestačí. Ve skutečnosti dnes přes 67 % amerických investičních poradců spoléhá při získávání alternativních dat na web scraping a 81 % amerických maloobchodníků automatizuje sledování cen konkurence. Háček je v tom, že velká část těchto dat žije na dynamických webech, které načítá JavaScript a které se skrývají za uživatelskými interakcemi. A právě tady přichází ke slovu automatizace headless prohlížeče — a nástroje jako Puppeteer.
Jako někdo, kdo roky buduje automatizační a AI nástroje (a ano, také jsem prodejním a provozním týmům nascrapoval slušnou řádku webů), jsem na vlastní oči viděl, jak Puppeteer dokáže odemknout data, která tradiční scrapery minou. Zároveň ale vím, že režie kolem kódu může být pro business uživatele zásadní překážka. V tomto průvodci vám proto přesně ukážu, co je Puppeteer scraper, jak ho použít pro web scraping a kdy je možná lepší sáhnout po něčem ještě jednodušším — třeba po Thunderbit, našem AI web scrapere bez kódu.
Co je Puppeteer Scraper? Rychlý přehled
Začněme od základů. Puppeteer je open-source knihovna pro Node.js od Googlu, která vám umožní ovládat headless prohlížeč Chrome nebo Chromium pomocí JavaScriptu. Jednoduše řečeno: je to jako mít robota, který umí otevřít webové stránky, klikat na tlačítka, vyplňovat formuláře, scrollovat a — hlavně — získávat data, a to vše bez toho, aby se cokoli zobrazovalo na obrazovce.
Čím je Puppeteer výjimečný?
- Umí vykreslovat dynamický obsah — tedy čeká, až se načte JavaScript, stejně jako skutečný uživatel.
- Umí simulovat uživatelské akce: klikání, psaní, scrollování a zvládá i vyskakovací okna.
- Skvěle se hodí pro scraping webů, kde se data objeví až po interakci, například e‑commerce seznamy, sociální feedy nebo dashboardy.
Jak si vede ve srovnání s jinými nástroji?
- Selenium: Klasika browser automation. Funguje s mnoha prohlížeči i jazyky, ale je těžkopádnější a trochu starší školy. Skvělé pro testování napříč prohlížeči, ale Puppeteer bývá svižnější pro projekty v Chrome/Node.js.
- Thunderbit: Tady se mi rozsvítí oči. Thunderbit je AI web scraper bez kódu, který běží přímo v prohlížeči. Místo psaní skriptů prostě kliknete na „AI Suggest Fields“ a necháte AI určit, co se má vytáhnout. Ideální pro business uživatele, kteří chtějí výsledky bez programování (víc o tom za chvíli).
Stručně řečeno: Puppeteer = maximální kontrola (když umíte kódovat). Thunderbit = maximální pohodlí (když kódovat nechcete).
Proč je Puppeteer Web Scraping důležitý pro business uživatele
Co je data scraping a jak na něj v roce 2026 Get Started Free
Pojďme si to říct na rovinu: web scraping už dávno není jen pro hackery nebo datové vědce. Prodej, provoz, marketing i realitní týmy využívají webová data, aby získaly náskok. A když je tolik byznysově kritických informací uzamčených na dynamických webech, Puppeteer bývá často klíčem k jejich odemčení.
Tady je pár reálných use caseů:
| Use Case | Kdo z toho těží | Dopad / ROI |
|---|---|---|
| Generování leadů | Obchod, biz dev | Automatizace tvorby seznamů potenciálních zákazníků; úspora 8+ hodin týdně na obchodníka (case study) |
| Sledování cen | E-commerce, produktový provoz | Sledování konkurence v reálném čase; jeden podnik ušetřil 3,8 mil. USD ročně (source) |
| Průzkum trhu | Marketing, strategie, finance | 67 % investičních poradců používá data nasbíraná web scrapingem; v některých případech až 890% ROI (source) |
| Agregace nemovitostí | Realitní makléři, analytici | Načtěte 50+ stránek s nemovitostmi za minuty, ne za hodiny (source) |
| Sledování souladu s předpisy | Provoz, právní oddělení | Automatizace monitoringu; jedna pojišťovna se vyhnula pokutám ve výši 50 mil. USD (source) |
A nezapomínejme: přes 40 % pracovníků tráví čtvrtinu pracovního týdne opakujícími se úkoly, jako je sběr dat. Automatizace pomocí web scrapingu není jen „nice to have“ — je to konkurenční výhoda.
Začínáme: nastavení vašeho Puppeteer scrapera
Chcete si vyhrnout rukávy? Takhle rozběhnete Puppeteer za méně než 10 minut (pokud vám je trochu blízký JavaScript):
1. Nainstalujte Node.js
Puppeteer běží na Node.js. Stáhněte si nejnovější LTS verzi z nodejs.org.
2. Vytvořte novou složku projektu
Otevřete terminál a spusťte:
mkdir puppeteer-scraper-demo
cd puppeteer-scraper-demo
npm init -y
3. Nainstalujte Puppeteer
npm install puppeteer
Tím se stáhne i kompatibilní verze Chromia (asi 100 MB).
4. Vytvořte svůj první skript
Vytvořte soubor scrape.js:
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('Nadpis stránky:', title);
await browser.close();
})();
Spusťte ho takto:
node scrape.js
Když uvidíte „Page title: Example Domain“, gratulujeme — právě jste zautomatizovali Chrome!
Jak vytvořit svůj první Puppeteer web scraping skript
Pojďme na praxi. Řekněme, že chcete scrapovat citáty z quotes.toscrape.com (demo web pro scrapery).
Krok 1: Přejděte na stránku
await page.goto('http://quotes.toscrape.com', { waitUntil: 'networkidle0' });
Krok 2: Vytáhněte data
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);
Krok 3: Ošetřete stránkování
let hasNext = true;
let allQuotes = [];
while (hasNext) {
// Extract quotes as above
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;
}
}
Krok 4: Uložte do JSON
const fs = require('fs');
fs.writeFileSync('quotes.json', JSON.stringify(allQuotes, null, 2));
A je to — základní Puppeteer scraper, který naviguje, extrahuje, prochází stránkami a ukládá data.
Pokročilé techniky Puppeteer scrapera: práce s dynamickým obsahem
Většina reálných webů není jen jednoduchý statický seznam. Tady je návod, jak zvládnout složitější případy:
1. Čekání na dynamické prvky
await page.waitForSelector('.product-list-item');
Tím zajistíte, že se požadovaný obsah načetl dřív, než ho začnete tahat.
2. Simulace uživatelských akcí
- Kliknutí na tlačítko:
await page.click('#load-more'); - Psaní do pole:
await page.type('#search', 'laptop'); - Scrollování u infinite scroll:
// Poznámka: page.waitForTimeout bylo v Puppeteer v22 odstraněno. Použijte obyčejný 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. Práce s přihlášením**
```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. Práce s daty načítanými přes AJAX Někdy data nejsou přímo v DOM, ale přicházejí přes API volání. Síťové odpovědi můžete zachytit takto:
page.on('response', async response => {
if (response.url().includes('/api/products')) {
const data = await response.json();
// Process data
}
});
Příklad z praxe: scraping produktových dat z e‑commerce webu
Dejme tomu, že to celé poskládáte dohromady. Představte si, že chcete po přihlášení scrapovat názvy produktů, ceny a obrázky z (demo) e‑commerce webu.
const puppeteer = require('puppeteer');
const fs = require('fs');
(async () => {
const browser = await puppeteer.launch({ headless: true });
const page = await browser.newPage();
// Krok 1: Přihlášení
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' });
// Krok 2: Přejděte na stránku kategorie
await page.goto('https://exampleshop.com/category/laptops', { waitUntil: 'networkidle0' });
// Krok 3: Vytáhněte produkty
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 || ''
}));
});
// Krok 4: Uložte do JSON
fs.writeFileSync('products.json', JSON.stringify(products, null, 2));
await browser.close();
})();
Tenhle skript se přihlásí, přejde na stránku, scrapuje a ukládá — vše automaticky. Pokud potřebujete něco pokročilejšího, můžete přidat smyčky pro stránkování nebo dokonce kliknout na každý produkt a získat víc detailů.
Thunderbit: jak udělat Puppeteer Scraper jednodušší pomocí AI
Vyzkoušejte rozšíření Thunderbit pro Chrome S pomocí AI nascrapujete jakýkoli web ve 2 kliknutích. Get Started Free
Jestli jste došli až sem a říkáte si: „To je super, ale nechci pokaždé psát kód, když potřebuji nová data,“ nejste sami. Přesně proto jsme vytvořili Thunderbit.
V čem je Thunderbit jiný?
- Bez kódu: Stačí nainstalovat Thunderbit Chrome Extension, otevřít stránku, kterou chcete scrapovat, a kliknout na „AI Suggest Fields“.
- Detekce polí pomocí AI: Thunderbit přečte stránku a navrhne nejlepší sloupce k extrakci — třeba „Product Name“, „Price“, „Image“ atd.
- Zvládá dynamický obsah: Infinite scroll, vyskakovací okna a podstránky? AI v Thunderbit si poradí, projde stránkování nebo dokonce navštíví detail každého produktu, aby obohatila vaše data.
- Okamžitý export: Pošlete data jedním kliknutím rovnou do Excelu, Google Sheets, Notionu nebo Airtable. Export je bez příplatku.
- Šablony pro populární weby: Potřebujete scrapovat Amazon, Zillow nebo LinkedIn? Thunderbit má hotové šablony — bez nastavování.
- Scraping v cloudu nebo v prohlížeči: U větších úloh umí Thunderbit scrapovat v cloudu až 50 stránek najednou.
Viděl jsem uživatele, jak se z „Škoda, že se k těm datům nedostanu“ dostali za méně než pět minut k „Tady máte tabulku“. A to nejlepší? Už nemusíte řešit, že se skript rozbije, jakmile se web změní — AI Thunderbit se přizpůsobí za běhu.
Vyzkoušet Thunderbit AI Web Scraper zdarma
Puppeteer vs. Thunderbit: jak vybrat správný nástroj pro web scraping
Tak co použít? Takhle bych to pro týmy rozsekl:
| Faktor | Puppeteer (kód) | Thunderbit (bez kódu, AI) |
|---|---|---|
| Snadnost použití | Vyžaduje JavaScript a znalost DOM | Klikání, AI navrhuje pole |
| Rychlost nastavení | U složitých úloh hodiny až dny | Minuty — prostě nainstalujete a jedete |
| Kontrola/flexibilita | Maximum: můžete napsat libovolnou logiku a propojit ji s dalším kódem | Velmi dobré pro běžné případy; méně vhodné pro extrémně specifické workflow |
| Dynamický obsah | Ruční skriptování čekání, klikání a scrollování | Vestavěná AI automaticky zvládá dynamický obsah, stránkování i podstránky |
| Údržba | Skripty spravujete sami — při změnách webu je musíte upravit | AI se přizpůsobuje změnám layoutu; méně údržby pro uživatele |
| Export dat | Musíte napsat vlastní exportní logiku | Export na jedno kliknutí do Excelu, Sheets, Notionu, Airtable, CSV, JSON |
| Nejlepší pro | Vývojáře, vysoce přizpůsobené nebo velkoobjemové scrapingy | Business uživatele, projekty s rychlým nasazením, netechnické týmy |
| Cena | Zdarma (mimo váš čas a případnou infrastrukturu) | K dispozici je free tier; placené plány podle kreditů (viz Thunderbit Pricing) |
Shrnutí:
- Použijte Puppeteer, pokud potřebujete absolutní kontrolu, máte k dispozici vývojářské kapacity nebo chcete scraping zapojit do větší aplikace.
- Použijte Thunderbit, pokud chcete rychle dostat výsledky, nechcete kódovat nebo chcete dát netechnickým kolegům do ruky nástroj, se kterým si poradí.
Upřímně, viděl jsem týmy používat obojí: Thunderbit pro rychlé výhry a prototypování, Puppeteer pro hluboké integrace nebo okrajové případy.
Checklist krok za krokem: jak úspěšně spustit Puppeteer web scraping projekt
Tady je můj osvědčený checklist pro hladký Puppeteer scraping projekt:
- Definujte cíl: Jaká data potřebujete? Kde se nacházejí?
- Prozkoumejte web: Je dynamický? Vyžaduje přihlášení? Má anti-bot ochranu?
- Připravte prostředí: Node.js, Puppeteer a případné pomocné knihovny.
- Napište proof of concept: Začněte jednou stránkou a trefte správně selektory.
- Zvládněte dynamický obsah: Použijte
waitForSelector, případně simulujte kliknutí a scrollování. - Přidejte stránkování nebo smyčky: Nestahujte jen jednu stránku, ale všechny.
- Zaveďte ochranu proti blokaci: Náhodně měňte prodlevy, nastavte reálný User-Agent, případně použijte proxy.
- Exportujte a validujte data: Uložte do JSON/CSV a zkontrolujte úplnost.
- Optimalizujte a ošetřete chyby: Přidejte try/catch, logujte průběh a chybějící data řešte elegantně.
- Monitorujte a udržujte: Weby se mění — buďte připraveni skript upravit.
Tipy pro troubleshooting:
- Když selektory vracejí
null, zkontrolujte HTML a použijte čekání. - Když vás web blokuje, zpomalte, střídejte IP adresy nebo použijte stealth pluginy.
- Když skript padá, zkontrolujte memory leaks nebo neošetřené výjimky.
Závěr a klíčová zjištění
Web scraping se stal nezbytnou dovedností pro týmy, které se rozhodují na základě dat. Puppeteer vám dává sílu vytáhnout data i z těch nejdynamičtějších webů plných JavaScriptu — ale vyžaduje to určitou dávku programátorských dovedností a průběžnou údržbu. Pro business uživatele, kteří chtějí přeskočit kód a dostat se rovnou k datům, nabízí Thunderbit AI web scraper bez kódu, který je rychlý, flexibilní a překvapivě robustní.
Tady je moje doporučení:
- Pokud jste techničtí a potřebujete hluboké přizpůsobení, začněte s Puppeteerem.
- Pokud chcete rychlost, jednoduchost a méně údržby, vyzkoušejte Thunderbit (skvělý start je bezplatné rozšíření do Chrome).
- Pro většinu týmů pokryje kombinace obou nástrojů 99 % potřeb spojených s webovými daty.
Chcete víc podobných návodů? Podívejte se na Thunderbit Blog, kde najdete tutoriály, srovnání i novinky ze světa AI web scrapingu.
Vyzkoušejte Thunderbit AI Web Scraper Get Started Free
Nejčastější dotazy
1. Co je Puppeteer scraper a proč se používá pro web scraping?
Puppeteer je knihovna pro Node.js, která vám pomocí JavaScriptu umožní ovládat headless prohlížeč Chrome. Pro web scraping se používá proto, že umí načítat dynamický obsah, simulovat uživatelské akce a získávat data ze stránek, se kterými si tradiční scrapery neporadí.
2. Jak si Puppeteer vede ve srovnání se Selenium a Thunderbit?
Selenium funguje s více prohlížeči i jazyky, ale je těžkopádnější. Puppeteer je zjednodušený pro Chrome/Node.js a u mnoha scraping úloh bývá rychlejší. Thunderbit je naopak AI nástroj bez kódu, který umožňuje i netechnickým uživatelům extrahovat data jen na pár kliknutí.
3. Jaké jsou hlavní business přínosy Puppeteer web scrapingu?
Automatizace sběru dat šetří čas, snižuje chybovost a přináší přehled v reálném čase pro obchod, marketing, provoz a další oddělení. Use casey sahají od generování leadů přes sledování cen až po průzkum trhu.
4. Jaké jsou největší výzvy při scrapingu s Puppeteerem?
Hlavní výzvy jsou práce s dynamickým obsahem, obcházení anti-bot blokací a údržba skriptů, když se web změní. Budete muset psát kód pro čekání, simulaci interakcí i ošetření chyb.
5. Kdy bych měl použít Thunderbit místo Puppeteeru?
Thunderbit použijte, pokud chcete obejít programování, potřebujete výsledky rychle nebo chcete dát nástroj do rukou netechnickým kolegům. Je ideální pro standardní scraping úlohy, rychlé projekty nebo situace, kdy chcete data dostat do Excelu či Google Sheets s minimem starostí.
Chcete vyzkoušet chytřejší způsob scrapování? Stáhněte si Thunderbit nebo se ponořte hlouběji do dalších návodů na Thunderbit Blogu. Příjemné scrapování!
Zjistit více


