Selenium web scraping: kompletní průvodce pro rok 2026

Naposledy aktualizováno August 11, 2026
Step-by-step Python Selenium web scraping tutorial title slide with coding and web icons

Web už dávno není, co býval. Dnes je skoro každý web, který otevřete, postavený na JavaScriptu a obsah se načítá postupně — zkuste si představit nekonečné scrollování, vyskakovací okna a dashboardy, které svoje tajemství odhalí až po jednom nebo dvou kliknutích. Ve skutečnosti už ohromujících 98,7 % všech webů používá JavaScript, což znamená, že starší nástroje na scraping, které umí číst jen statické HTML, přicházejí o spoustu cenných dat. Pokud jste se někdy pokoušeli vytáhnout ceny produktů z moderního e‑shopu nebo nabídky nemovitostí z interaktivní mapy, znáte tu frustraci: data, která chcete, prostě ve zdrojovém kódu nejsou.

A právě tady přichází ke slovu scraping se Selenium. Jako někdo, kdo strávil roky stavbou automatizačních nástrojů (a ano, i scrapingem víc webů, než bych asi měl), vám můžu říct: zvládnout Selenium je superschopnost pro každého, kdo potřebuje aktuální dynamická data. V tomhle praktickém tutoriálu pro scraping webu pomocí Selenium vás provedu klíčovými kroky — od nastavení až po automatizaci — a ukážu vám, jak Selenium zkombinovat s Thunderbit pro strukturovaná data připravená k exportu. Ať už jste business analytik, obchodník, nebo prostě jen zvědavý uživatel Pythonu, odnesete si praktické dovednosti i pár úsměvných momentů (protože upřímně, ladění XPath selektorů člověka zocelí).

Vyzkoušet Thunderbit AI Web Scraper

Co je Selenium a proč ho používat pro scraping webu?

selenium-dynamic-vs-static-web-scraping.png Začněme od základů. Selenium je open-source framework, který vám umožní ovládat skutečný webový prohlížeč — třeba Chrome nebo Firefox — pomocí kódu. Představte si ho jako robota, který umí otevírat stránky, klikat na tlačítka, vyplňovat formuláře, scrollovat a dokonce spouštět JavaScript, stejně jako člověk. To je zásadní, protože většina moderních webů vám všechna data nezobrazí hned. Místo toho načítají obsah dynamicky, často až po interakci se stránkou.

Co je scraping dat a jak na něj v roce 2026 Get Started Free

Proč je to pro scraping důležité? Tradiční nástroje jako BeautifulSoup nebo Scrapy jsou skvělé pro statické HTML, ale neumí „vidět“ nic, co se načte přes JavaScript po prvním načtení stránky. Selenium naopak umí se stránkou pracovat v reálném čase, takže je ideální pro:

  • scrapování seznamů produktů, které se zobrazí až po kliknutí na „Načíst více“
  • získávání cen nebo recenzí, které se dynamicky aktualizují
  • procházení přihlašovacích formulářů, vyskakovacích oken nebo nekonečného scrollování
  • extrakci dat z dashboardů, map nebo jiných interaktivních prvků

Zkrátka Selenium je váš hlavní nástroj, když potřebujete získat data, která se objeví až po načtení stránky — nebo po akci uživatele.

Klíčové kroky pro scraping webu v Pythonu se Selenium

Scraping se Selenium stojí na třech základních krocích:

KrokCo uděláteProč je to důležité
1. Nastavení prostředíNainstalujete Selenium, WebDriver a knihovny PythonuPřipravíte si nástroje a vyhnete se problémům při nastavení
2. Vyhledání prvkůNajdete data pomocí ID, tříd, XPath apod.Zacílení na správné informace, i když jsou skryté JavaScriptem
3. Extrakce a uložení datVytáhnete text, odkazy nebo tabulky a uložíte je do CSV/ExceluProměníte surová webová data v něco, co můžete použít

Pojďme si každý krok projít na praktických příkladech a kódu, který můžete zkopírovat, upravit a pak se s ním pochlubit kamarádům.

Krok 1: Nastavení Python prostředí pro Selenium

Nejdřív potřebujete nainstalovat Selenium a ovladač prohlížeče (například ChromeDriver pro Chrome). Dobrá zpráva? Je to jednodušší než dřív.

Instalace Selenium

Otevřete terminál a spusťte:

pip install selenium

Stažení WebDriveru

  • Chrome: Stáhněte ChromeDriver (ujistěte se, že odpovídá vaší verzi Chromu).
  • Firefox: Stáhněte GeckoDriver.

Tip navíc: Od Selenium 4.6 můžete použít Selenium Manager, který ovladače stáhne automaticky, takže už možná nebudete muset vůbec řešit proměnné PATH (dokumentace).

Váš první Selenium skript

Tady je rychlé „hello world“ pro Selenium:

from selenium import webdriver

driver = webdriver.Chrome()  # Nebo webdriver.Firefox()
driver.get("https://example.com")
print(driver.title)
driver.quit()

Tipy pro řešení potíží:

  • Pokud se zobrazí chyba „driver not found“, zkontrolujte PATH nebo použijte Selenium Manager.
  • Ujistěte se, že verze prohlížeče a ovladače odpovídají.
  • Pokud běžíte na serveru bez grafického rozhraní (headless), podívejte se níže na tipy pro headless režim.

Krok 2: Vyhledávání webových prvků pro extrakci dat

Teď přichází zábavná část: říct Selenium, která data chcete. Weby jsou tvořené prvky — divy, spany, tabulkami a dalším obsahem — a Selenium vám nabízí několik způsobů, jak je najít.

Běžné strategie vyhledávání prvků

  • By.ID: Najde prvek s jedinečným ID
  • By.CLASS_NAME: Najde prvky podle CSS třídy
  • By.XPATH: Použije XPath výrazy (velmi flexibilní, ale může být křehké)
  • By.CSS_SELECTOR: Použije CSS selektory (skvělé pro složitější dotazy)

Takto je můžete použít:

from selenium.webdriver.common.by import By

# Najít podle ID
price = driver.find_element(By.ID, "price").text

# Najít podle XPath
title = driver.find_element(By.XPATH, "//h1").text

# Najít všechny obrázky produktů pomocí CSS selektoru
images = driver.find_elements(By.CSS_SELECTOR, ".product img")
for img in images:
    print(img.get_attribute("src"))

Tip navíc: Vždy používejte co nejjednodušší a nejstabilnější selektor (ID > class > CSS > XPath). A pokud scrapujete stránku, která načítá data se zpožděním, použijte explicitní čekání:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

wait = WebDriverWait(driver, 10)
price_elem = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, ".price")))

Díky tomu váš skript nespadne jen proto, že se data zobrazí až o chvíli později.

Krok 3: Extrakce a uložení dat

Jakmile najdete potřebné prvky, je čas data vytáhnout a uložit někam, kde vám poslouží.

Extrakce textu, odkazů a tabulek

Představte si, že scrapujete tabulku produktů:

data = []
rows = driver.find_elements(By.XPATH, "//table/tbody/tr")
for row in rows:
    cells = row.find_elements(By.TAG_NAME, "td")
    data.append([cell.text for cell in cells])

Uložení do CSV pomocí Pandas

import pandas as pd

df = pd.DataFrame(data, columns=["Name", "Price", "Stock"])
df.to_csv("products.csv", index=False)

Můžete také uložit do Excelu (df.to_excel("products.xlsx")) nebo data poslat do Google Sheets přes jejich API.

Kompletní příklad: scrapování názvů a cen produktů

from selenium import webdriver
from selenium.webdriver.common.by import By
import pandas as pd

driver = webdriver.Chrome()
driver.get("https://example.com/products")

data = []
products = driver.find_elements(By.CLASS_NAME, "product-card")
for p in products:
    title = p.find_element(By.CLASS_NAME, "title").text
    price = p.find_element(By.CLASS_NAME, "price").text
    data.append([title, price])

driver.quit()

df = pd.DataFrame(data, columns=["Title", "Price"])
df.to_csv("products.csv", index=False)

Selenium vs. BeautifulSoup a Scrapy: čím je Selenium výjimečné?

selenium-vs-traditional-scrapers-comparison.png Pojďme uzavřít debatu: kdy použít Selenium a kdy je lepší třeba BeautifulSoup nebo Scrapy? Tady je rychlé srovnání:

NástrojNejlepší proUmí JavaScript?Rychlost a spotřeba zdrojů
SeleniumDynamické/interaktivní webyAnoPomalejší, spotřebuje víc paměti
BeautifulSoupJednoduchý scraping statického HTMLNeVelmi rychlý, lehký
ScrapyCrawler ve velkém objemu na statických webechOmezeně*Super rychlý, asynchronní, nízká RAM
ThunderbitNo-code scraping pro byznysAno (AI)Rychlý pro malé a střední úlohy

*Scrapy si s některým dynamickým obsahem poradí pomocí pluginů, ale není to jeho silná stránka (ScrapingBee).

Kdy použít Selenium:

  • Data se zobrazí až po kliknutí, scrollování nebo přihlášení
  • Potřebujete pracovat s vyskakovacími okny, nekonečným scrollováním nebo dynamickými dashboardy
  • Statické scrapery prostě nestačí

Kdy použít BeautifulSoup/Scrapy:

  • Data jsou už v úvodním HTML
  • Potřebujete rychle projet tisíce stránek
  • Chcete minimální nároky na zdroje

A pokud chcete přeskočit programování úplně, Thunderbit vám umožní scrapovat dynamické weby pomocí AI — stačí kliknout na „AI Suggest Fields“ a exportovat do Sheets, Notion nebo Airtable. (Více o tom níže.)

Jak scrapovat jakýkoli web pomocí AI Get Started Free

Automatizace scrapingových úloh se Selenium a Pythonem

Buďme upřímní: nikdo nechce vstávat ve 2 ráno, aby ručně spustil scrapingový skript. Dobrá zpráva je, že Selenium úlohy můžete automatizovat pomocí plánovacích nástrojů v Pythonu nebo plánovače v operačním systému (například cron na Linuxu/Macu nebo Plánovač úloh ve Windows).

Použití knihovny schedule

import schedule
import time

def job():
    # Sem patří váš scrapingový kód
    print("Scrapuji...")

schedule.every().day.at("09:00").do(job)

while True:
    schedule.run_pending()
    time.sleep(1)

Nebo s Cronem (Linux/Mac)

Přidejte do crontabu toto, aby se skript spouštěl každou hodinu:

0 * * * * python /path/to/your_script.py

Tipy pro automatizaci:

  • Spouštějte Selenium v headless režimu (viz níže), abyste se vyhnuli grafickým vyskakovacím oknům.
  • Logujte chyby a posílejte si upozornění, pokud se něco pokazí.
  • Vždy zavírejte prohlížeč pomocí driver.quit(), aby se uvolnily zdroje.

Zvyšování efektivity: tipy pro rychlejší a spolehlivější scraping se Selenium

Selenium je mocné, ale může být pomalé a náročné na zdroje, pokud si nedáte pozor. Tady je, jak zrychlit práci a vyhnout se běžným potížím:

1. Spouštějte v headless režimu

Není potřeba sledovat, jak se Chrome stokrát otevírá a zavírá. Headless režim běží na pozadí:

from selenium.webdriver.chrome.options import Options

opts = Options()
opts.headless = True
driver = webdriver.Chrome(options=opts)

2. Blokujte obrázky a další zbytečný obsah

Proč načítat obrázky, když scrapujete jen text? Zablokujte je, aby se stránka načítala rychleji:

prefs = {"profile.managed_default_content_settings.images": 2}
opts.add_experimental_option("prefs", prefs)

3. Používejte efektivní selektory

  • Dávejte přednost ID nebo jednoduchým CSS selektorům před složitými XPath.
  • Vyhněte se time.sleep() — místo toho používejte explicitní čekání (WebDriverWait).

4. Náhodně prodlužujte prodlevy

Přidávejte náhodné pauzy, aby chování připomínalo člověka a snížilo riziko blokace:

import random, time

time.sleep(random.uniform(1, 3))

5. Střídejte user agenty a IP adresy (když je to potřeba)

Pokud scrapujete hodně, střídejte user agent string a zvažte proxy, abyste obešli jednoduché anti-bot mechanismy.

6. Správa relací a chyb

  • Používejte bloky try/except, aby skript elegantně zvládl chybějící prvky.
  • Logujte chyby a pořizujte screenshoty pro ladění.

Další tipy na optimalizaci najdete v průvodci BrowserStacku.

Pokročilé: Kombinace Selenium a Thunderbit pro strukturovaný export dat

Tady se dostáváme k opravdu zajímavé části — zvlášť pokud chcete ušetřit čas při čištění dat a exportu.

Jakmile surová data nasbíráte pomocí Selenium, můžete využít Thunderbit k tomu, aby:

  • Automaticky rozpoznal pole: AI od Thunderbit může přečíst vaše scrapované stránky nebo CSV soubory a navrhnout názvy sloupců („AI Suggest Fields“).
  • Scraping podstránek: Pokud máte seznam URL (například produktové stránky), Thunderbit může každou z nich navštívit a obohatit tabulku o další detaily — bez dalšího kódu.
  • Obohacení dat: Překládání, kategorizace nebo analýza dat za chodu.
  • Export kamkoli: Jedním kliknutím export do Google Sheets, Airtable, Notion, CSV nebo Excelu.

Příklad workflow:

  1. Pomocí Selenium nasbírejte seznam URL a názvů produktů.
  2. Exportujte data do CSV.
  3. Otevřete Thunderbit, importujte CSV a nechte AI navrhnout pole.
  4. Pomocí scrapování podstránek v Thunderbitu vytáhněte z každé produktové URL další detaily (například obrázky nebo specifikace).
  5. Exportujte finální strukturovaný dataset do Sheets nebo Notion.

Tahle kombinace vám ušetří hodiny ručního čištění a umožní soustředit se na analýzu, ne na zápasení s neuspořádanými daty. Více o tomhle workflow najdete v průvodci Selenium od Thunderbit.

Exportovat data ze Selenium pomocí Thunderbit AI

Osvědčené postupy a řešení problémů při scrapování webu se Selenium

Web scraping je trochu jako rybaření: někdy ulovíte velkou rybu, jindy se zamotáte do plevele. Takhle udržíte své skripty spolehlivé — a zároveň etické:

Osvědčené postupy

  • Respektujte robots.txt a podmínky webu: Vždy zkontrolujte, zda je scraping povolen.
  • Omezte rychlost požadavků: Nepřetěžujte servery — přidávejte prodlevy a sledujte chyby HTTP 429.
  • Používejte API, pokud jsou k dispozici: Pokud jsou data veřejně dostupná přes API, použijte je — je to bezpečnější a spolehlivější.
  • Scrapujte jen veřejná data: Vyhněte se osobním nebo citlivým informacím a myslete na zákony o ochraně soukromí.
  • Zvládejte pop-upy a CAPTCHy: Selenium můžete použít k zavření vyskakovacích oken, ale u CAPTCHA buďte opatrní — automatizace je obtížná.
  • Náhodně střídejte user agenty a prodlevy: Pomáhá to omezit detekci a blokování.

Časté chyby a opravy

ChybaCo znamenáJak to opravit
NoSuchElementExceptionNelze najít prvekZkontrolujte selektor; použijte čekání
Chyby timeoutuStránka nebo prvek trvaly příliš dlouhoZvyšte dobu čekání; zkontrolujte rychlost sítě
Nesoulad driveru a prohlížečeSelenium nemůže spustit prohlížečAktualizujte verze driveru i prohlížeče
Pád relaceProhlížeč se neočekávaně zavřelPoužijte headless režim; spravujte zdroje

Další tipy pro řešení problémů najdete v tutoriálu Thunderbit pro Selenium.

Závěr a hlavní poznatky

Dynamický web scraping už dávno není jen pro ostřílené vývojáře. S Pythonem a Selenium můžete automatizovat jakýkoli prohlížeč, pracovat s těmi nejtěžšími weby plnými JavaScriptu a vytáhnout data, která vaše firma potřebuje — ať už pro obchod, výzkum, nebo prostě ze zvědavosti. Zapamatujte si:

  • Selenium je nástroj první volby pro dynamické a interaktivní weby.
  • Tři klíčové kroky: nastavení, vyhledání, extrakce a uložení.
  • Automatizujte své skripty pro pravidelné aktualizace dat.
  • Optimalizujte rychlost a spolehlivost pomocí headless režimu, chytrého čekání a efektivních selektorů.
  • Kombinujte Selenium s Thunderbit pro snadné strukturování a export dat — hlavně pokud se chcete vyhnout bolestem hlavy v tabulkách.

Chcete to vyzkoušet sami? Začněte s ukázkovými kódy výše a až budete připraveni posunout scraping na další úroveň, vyzkoušejte Thunderbit pro okamžité čištění a export dat pomocí AI. A pokud máte chuť na víc, podívejte se na blog Thunderbit, kde najdete hlubší návody, tutoriály a novinky z oblasti webové automatizace.

Hodně štěstí při scrapování — a ať vaše selektory vždy najdou přesně to, co hledáte.

Vyzkoušejte Thunderbit AI Web Scraper zdarma Get Started Free

Často kladené otázky

1. Proč bych měl pro scraping webu používat Selenium místo BeautifulSoup nebo Scrapy?
Selenium je ideální pro scraping dynamických webů, kde se obsah načítá až po akci uživatele nebo po spuštění JavaScriptu. BeautifulSoup a Scrapy jsou rychlejší pro statické HTML, ale neumí pracovat s dynamickými prvky ani simulovat klikání a scrollování.

2. Jak můžu svůj Selenium scraper zrychlit?
Použijte headless režim, blokujte obrázky a zbytečné zdroje, používejte efektivní selektory a přidávejte náhodné prodlevy, aby chování připomínalo člověka. Další tipy najdete v průvodci BrowserStacku.

3. Můžu naplánovat Selenium scraping tak, aby běžel automaticky?
Ano! Použijte knihovnu Pythonu schedule nebo plánovač v operačním systému (cron nebo Plánovač úloh) a spusťte skripty v určených intervalech. Automatizace pomáhá udržet data aktuální.

4. Jaký je nejlepší způsob exportu dat získaných pomocí Selenium?
Pro uložení do CSV nebo Excelu použijte Pandas. Pro pokročilejší exporty (Google Sheets, Notion, Airtable) importujte data do Thunderbit a využijte export na jedno kliknutí.

5. Jak mohu v Selenium řešit pop-upy a CAPTCHA?
Pop-upy zavřete tak, že najdete a kliknete na jejich zavírací tlačítka. CAPTCHA jsou mnohem těžší — pokud na ně narazíte, zvažte ruční obejití nebo službu pro řešení CAPTCHA a vždy dodržujte podmínky používání webu.

Chcete víc tutoriálů o scrapování, tipů na AI automatizaci nebo novinky o nástrojích pro byznysová data? Přihlaste se k odběru blogu Thunderbit nebo se podívejte na náš YouTube kanál pro praktické ukázky.

Zjistit více

Shuai Guan
Shuai Guan
CEO ve společnosti Thunderbit | Expert na automatizaci dat s využitím AI Shuai Guan je CEO společnosti Thunderbit a absolvent inženýrského oboru na University of Michigan. Na základě téměř deseti let zkušeností v oblasti technologií a architektury SaaS se zaměřuje na převádění složitých modelů AI do praktických nástrojů pro extrakci dat bez nutnosti programování. Na tomto blogu sdílí nezkreslené a v praxi ověřené poznatky o web scrapingu a automatizačních strategiích, které vám pomohou vytvářet chytřejší datově řízené pracovní postupy. Když zrovna neoptimalizuje datové workflow, věnuje stejný důraz na detail také své vášni pro fotografii.
Topics
Scraping with seleniumSelenium web scraping tutorialPython selenium scrape website
Obsah
Thunderbit · AI agent pro webová data

Extrahuj data z libovolné stránky za 1 kliknutí

Důvěřuje mu více než 250 000 uživatelů
k dispozici bezplatný plán
Z webové stránky do tabulky
Popiš, co potřebuješ — AI agent Thunderbit to nasbírá a exportuje do Excelu, Google Sheets, Airtable nebo Notion. Začni zdarma.
Chrome Store Rating
PRODUCT HUNT#1 Product of the Week