Minulý víkend jsem se při pokusech o stažení stránky Amazon Best Sellers skoro prokousal celým kávovarem. Vyzkoušel jsem čtyři různé přístupy. Dva fungovaly parádně, jeden mě málem dostal k zablokování IP adresy a jeden zabral doslova na dvě kliknutí. Tady je všechno, co jsem zjistil.
Amazon je obrovský tržištní gigant — 600 milionů produktových nabídek, 310+ milionů aktivních zákaznických účtů a systém Best Sellers Rank (BSR), který se aktualizuje každou hodinu. Pokud děláš průzkum produktů pro FBA, analyzuješ konkurenci nebo se jen snažíš zachytit trendy dřív než soupeři, data z Best Sellers jsou k nezaplacení.
Jenže dostat ta data z Amazonu do tabulky? Tam teprve začíná sranda. Otestoval jsem requests + BeautifulSoup, Selenium, scraping API a Thunderbit (náš vlastní no-code AI web scraper), abych zjistil, který přístup opravdu funguje — a který tě pošle rovnou na CAPTCHA stránku.
Co je Amazon Best Sellers a proč by tě to mělo zajímat?
Amazon Best Sellers Rank (BSR) je průběžné žebříčkové hodnocení produktů podle objemu prodeje v jednotlivých kategoriích. Představ si to jako soutěž popularity, která se aktualizuje každou hodinu podle čerstvých i historických prodejních dat. Amazon to popisuje takto:
„Výpočet Amazon Best Sellers vychází z prodejů na Amazonu a aktualizuje se každou hodinu, aby odrážel nedávné i historické prodeje každé položky prodané na Amazonu.“ — Amazon Seller Central
Stránka Best Sellers ukazuje top 100 produktů v každé kategorii, rozdělených na dvě stránky po 50 položkách. Stránka 1 pokrývá pozice #1–50, stránka 2 pozice #51–100. Amazon potvrdil, že zobrazení stránky ani hodnocení recenzí BSR neovlivňují — jde čistě o prodejní výkon.
Kdo ta data potřebuje? Prodejci v e-commerce hledající produkty pro FBA, obchodní týmy budující konkurenční inteligenci, operations týmy sledující cenové trendy a market research analytici, kteří sledují růst kategorií. Podle mé zkušenosti nakonec každý, kdo prodává na Amazonu nebo s ním soupeří, ta data potřebuje mít v tabulce.
Proč scrapovat Amazon Best Sellers pomocí Pythonu?
Ruční průzkum produktů je ztráta času. Studie McKinsey zjistila, že zaměstnanci stráví 9,3 hodiny týdně jen vyhledáváním a shromažďováním informací. U e-commerce týmů to znamená hodiny proklikávání Amazonu, kopírování názvů a cen produktů a jejich vkládání do tabulek — a za týden zase nanovo.
Tady je rychlý přehled use casů, kvůli kterým má scrapování Best Sellers smysl:
| Use Case | Co získáš | Kdo z toho těží |
|---|---|---|
| Průzkum produktů pro FBA | Najdeš produkty s vysokou poptávkou a nízkou konkurencí podle BSR a počtu recenzí | Prodejci na Amazonu, dropshippeři |
| Sledování konkurenceschopných cen | Hlídáš změny cen u nejlepších produktů ve své kategorii | E-commerce týmy, cenoví analytici |
| Monitoring trendů na trhu | Odhalíš rostoucí kategorie a sezónní výkyvy | Product manažeři, market research týmy |
| Generování leadů | Vytvoříš seznamy nejprodávanějších značek a jejich produktových řad | Obchodní týmy, B2B outreach |
| Analýza konkurence | Porovnáš své produkty s lídry kategorie | Brand manažeři, strategické týmy |
Návratnost je reálná: průzkum Salesforce mezi 2 700 lidmi z oblasti commerce zjistil, že AI nástroje ušetří e-commerce profesionálům v průměru 6,4 hodiny týdně. A prodejci používající automatizované sledování cen drží Buy Box 67 % času oproti 42 % u manuálního sledování — tedy o 37 % vyšší prodeje díky rychlejší reakci na změny cen.
4 způsoby, jak scrapovat Amazon Best Sellers pomocí Pythonu: rychlé srovnání
Než se pustíme do podrobných návodů, tady je srovnání vedle sebe, které bych si býval přál mít před testováním. Tahle tabulka ti pomůže vybrat správnou metodu podle situace:
| Kritérium | requests + BS4 | Selenium | Scraping API (např. Scrape.do) | Thunderbit (No-Code) |
|---|---|---|---|---|
| Náročnost nastavení | Střední | Vysoká (driver, prohlížeč) | Nízká (API klíč) | Velmi nízká (rozšíření do Chrome) |
| Zvládá lazy loading | Ne | Ano (simulace scrollování) | Ano (renderované HTML) | Ano (AI zvládne renderování) |
| Odolnost proti anti-botu | Nízká (blokace IP) | Střední (detekovatelné) | Vysoká (rotující proxy) | Vysoká (cloud + browser režim) |
| Náročnost údržby | Vysoká (selektory se lámou) | Vysoká (aktualizace driveru + selektory) | Nízká | Velmi nízká (AI se přizpůsobí změnám rozložení) |
| Cena | Zdarma | Zdarma | Placené (za request) | Free tier + placené plány |
| Nejlepší pro | Jednorázové scrapování, učení | Stránky s JS, přihlášené relace | Škála / produkce | Netechnické uživatele, rychlý průzkum, opakovaný monitoring |
Pokud se chceš naučit základy scrapování v Pythonu, začni metodou 1 nebo 2. Pokud potřebuješ spolehlivost v produkčním měřítku, zvol metodu 3. Pokud chceš výsledky během dvou kliknutí bez psaní kódu, skoč rovnou na metodu 4.
Než začneš
- Obtížnost: Začátečník až mírně pokročilý (podle metody)
- Časová náročnost: ~15 minut pro Thunderbit, ~45 minut pro Python metody
- Co budeš potřebovat: Python 3.8+ (pro metody 1–3), prohlížeč Chrome, Thunderbit Chrome Extension (pro metodu 4) a URL cílové kategorie Amazon Best Sellers
Metoda 1: Scrapování Amazon Best Sellers pomocí requests + BeautifulSoup
Tohle je lehký a přívětivý přístup pro začátečníky — žádná automatizace prohlížeče, jen HTTP requesty a parsování HTML. Taky mě naučil nejvíc o anti-scraping ochraně Amazonu.
Krok 1: Nastavte prostředí
Nainstalujte potřebné balíčky:
pip install requests beautifulsoup4 pandas
Pak si nastavte importy:
import requests
from bs4 import BeautifulSoup
import pandas as pd
import random
import time
Krok 2: Pošlete request s realistickými hlavičkami
Amazon blokuje requesty, které vypadají jako od botů. Základní obrana je User-Agent hlavička, která napodobuje skutečný prohlížeč. Tady je ukázka s aktuálními a realistickými User-Agent řetězci (zdroj: Geekflare, březen 2026):
USER_AGENTS = [
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:149.0) Gecko/20100101 Firefox/149.0",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 15.7; rv:149.0) Gecko/20100101 Firefox/149.0",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_7_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Safari/605.1.15",
]
headers = {"User-Agent": random.choice(USER_AGENTS)}
url = "https://www.amazon.com/Best-Sellers-Electronics/zgbs/electronics/"
response = requests.get(url, headers=headers)
print(response.status_code) # Mělo by být 200
Pokud dostaneš stavový kód 200, jsi na správné cestě. Pokud vidíš 503 nebo tě Amazon přesměruje na CAPTCHA stránku, request byl odhalen.
Krok 3: Parsujte data o produktech pomocí BeautifulSoup
Zkontroluj HTML stránky v DevTools prohlížeče (pravé tlačítko → Inspect). Kontejnery produktů používají ID gridItemRoot. Uvnitř každého kontejneru najdeš název produktu, cenu, hodnocení a URL.
soup = BeautifulSoup(response.text, "html.parser")
products = []
for item in soup.find_all("div", id="gridItemRoot"):
title_tag = item.find("div", class_="_cDEzb_p13n-sc-css-line-clamp-3_g3dy1")
price_tag = item.find("span", class_="_cDEzb_p13n-sc-price_3mJ9Z")
link_tag = item.find("a", class_="a-link-normal")
title = title_tag.get_text(strip=True) if title_tag else "N/A"
price = price_tag.get_text(strip=True) if price_tag else "N/A"
url = "https://www.amazon.com" + link_tag["href"] if link_tag else "N/A"
products.append({"Title": title, "Price": price, "URL": url})
Upozornění: Třídy začínající na
_cDEzb_jsou hashované CSS module selektory, které Amazon pravidelně mění. IDgridItemRoota třídaa-link-normalbývají stabilnější, ale před spuštěním scrapu si selektory vždy ověř v DevTools.
Krok 4: Export do CSV
df = pd.DataFrame(products)
df.to_csv("amazon_best_sellers.csv", index=False)
print(f"Staženo {len(products)} produktů")
Co čekat — a co se pokazí
V mém testu tahle metoda vrátila asi 30 produktů místo 50. Není to chyba kódu — je to lazy loading od Amazonu. Po úvodním načtení se vykreslí jen asi 30 produktů; zbytek se objeví až po scrollování, což vyžaduje JavaScript, který requests neumí zpracovat.
Další omezení:
- Bez rotace proxy přijde blokace IP velmi rychle (mně Amazon zablokoval přístup po asi 15 requestech v rychlém sledu)
- CSS selektory se lámou pokaždé, když Amazon upraví rozložení stránky — a dělá to často
- Žádné hotové řešení stránkování
Na učení scrapování v Pythonu je to super. Pro produkční použití je to ale křehké.
Metoda 2: Scrapování Amazon Best Sellers pomocí Selenium
Selenium řeší problém lazy loadingu tím, že spouští skutečný prohlížeč — je těžší na nastavení, ale zachytí všech 50 produktů na stránku.
Krok 1: Nainstalujte Selenium
pip install selenium pandas
Dobrá zpráva: od Selenium 4.6 už nepotřebujete webdriver-manager. Selenium Manager si stahování driverů řeší automaticky.
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time
import pandas as pd
options = Options()
options.add_argument("--headless=new")
options.add_argument("--window-size=1920,1080")
options.add_argument("--disable-blink-features=AutomationControlled")
driver = webdriver.Chrome(options=options)
Přepínač --headless=new (představený v Chrome 109+) používá stejný renderovací pipeline jako běžný Chrome s oknem, takže ho Amazon hůř detekuje.
Krok 2: Proscrollujte přes lazy loading
Tohle je krok, díky kterému se Selenium vyplatí. Amazon Best Sellers načte zpočátku jen asi 30 produktů — zbytek se objeví až po scrollování.
def scroll_page(driver, scrolls=5, delay=2):
for _ in range(scrolls):
driver.find_element(By.TAG_NAME, "body").send_keys(Keys.PAGE_DOWN)
time.sleep(delay)
driver.get("https://www.amazon.com/Best-Sellers-Electronics/zgbs/electronics/")
time.sleep(3)
scroll_page(driver)
Po scrollování by se mělo v DOM vykreslit všech 50 produktů. Zjistil jsem, že 5 stisků Page Down s prodlevou 2 sekundy obvykle stačí, ale podle rychlosti připojení může být potřeba upravit.
Krok 3: Extrahujte data o produktech
items = driver.find_elements(By.ID, "gridItemRoot")
products = []
for item in items:
try:
title = item.find_element(By.CSS_SELECTOR, "div._cDEzb_p13n-sc-css-line-clamp-3_g3dy1").text
except:
title = "N/A"
try:
price = item.find_element(By.CSS_SELECTOR, "span._cDEzb_p13n-sc-price_3mJ9Z").text
except:
price = "N/A"
try:
url = item.find_element(By.CSS_SELECTOR, "a.a-link-normal").get_attribute("href")
except:
url = "N/A"
products.append({"Title": title, "Price": price, "URL": url})
Použití try/except u každé položky je důležité — některé produkty mohou být vyprodané nebo mít chybějící pole a nechceš, aby jeden problematický element shodil celý scraping.
Krok 4: Ošetřete stránkování
Amazon rozděluje 100 Best Sellers do dvou stránek s různou strukturou URL:
urls = [
"https://www.amazon.com/Best-Sellers-Electronics/zgbs/electronics/",
"https://www.amazon.com/Best-Sellers-Electronics/zgbs/electronics/ref=zg_bs_pg_2_electronics?_encoding=UTF8&pg=2"
]
all_products = []
for url in urls:
driver.get(url)
time.sleep(3)
scroll_page(driver)
# ... extrakce produktů jako výše ...
all_products.extend(products)
driver.quit()
Co čekat
V mém testu Selenium zachytilo všech 50 produktů na stránku — jasné vítězství nad requests + BS4. Nevýhoda: trvalo to asi 45 sekund na stránku (včetně prodlev při scrollování) a i tak jsem byl po příliš mnoha bězích bez rotace proxy odhalen. Selenium je navíc pro Amazon detekovatelné i s anti-detection příznaky — pro větší škálu budeš potřebovat další opatření (viz Anti-Ban Playbook níže).
Další slabiny:
- Nesoulad verzí WebDriveru se občas pořád objeví, i když Selenium Manager to výrazně omezil
- CSS selektory je potřeba upravit pokaždé, když Amazon změní DOM
- Vysoká spotřeba paměti — každá instance prohlížeče zabere 200–400 MB RAM
Metoda 3: Scrapování Amazon Best Sellers pomocí scraping API
Scraping API je přístup typu „nech těžkou práci na někom jiném“. Služby jako Scrape.do, Oxylabs a ScrapingBee se starají o rotaci proxy, renderování JavaScriptu i anti-bot opatření — ty jen pošleš URL a dostaneš HTML nebo JSON.
Jak to funguje
Pošleš cílovou URL na endpoint API. API stránku vyrenderuje na své infrastruktuře v reálném prohlížeči, rotuje proxy, ošetří CAPTCHA a vrátí čisté HTML. Ty pak vrácené HTML zpracuješ přes BeautifulSoup jako obvykle.
Krok 1: Pošlete request přes API
Tady je příklad se Scrape.do (ceny začínají na 29 USD/měsíc za 150 000 kreditů, 1 kredit = 1 request bez ohledu na renderování):
import requests
from bs4 import BeautifulSoup
api_token = "YOUR_API_TOKEN"
target_url = "https://www.amazon.com/Best-Sellers-Electronics/zgbs/electronics/"
api_url = f"https://api.scrape.do?token={api_token}&url={target_url}&render=true&geoCode=us"
response = requests.get(api_url)
soup = BeautifulSoup(response.text, "html.parser")
Odtud je parsování stejné jako u metody 1 — stejné selektory, stejná logika extrakce.
Realita cen
Tady je přehled, kolik si hlavní API účtují za 1 000 Amazon requestů při nejlepší dostupné sazbě:
| Poskytovatel | Cena za 1 000 requestů | Poznámky |
|---|---|---|
| Scrape.do | cca $0.19 | Paušální sazba, bez násobků kreditů |
| Oxylabs | cca $1.80 | 5× násobek pro JS renderování |
| ScrapingBee | cca $4.90 | 5–25× násobky u prémiových funkcí |
| Bright Data | $5.00+ | Nejobsáhlejší data (686 polí / produkt), ale nejpomalejší (~66 s / request) |
Klady a zápory
Klady: Vysoká spolehlivost (~99% úspěšnost na Amazonu u top poskytovatelů), žádná údržba driveru, automatická anti-bot ochrana, dobrá škálovatelnost.
Zápory: Placené za každý request (náklady rostou ve velkém), stejně musíš psát parsovací kód a pořád hrozí změny CSS selektorů. U 100 000 stránek měsíčně je rozdíl v celkových nákladech dramatický: vlastní řešení vyjde zhruba na $1 028 000 za tři roky oproti $293 000 u poskytovatele — úspora 71 %.
Bod zlomu bývá obvykle 500 tisíc až 1 milion requestů měsíčně. Pod touto hranicí převáží časová úspora API nad náklady.
Metoda 4: Scrapování Amazon Best Sellers pomocí Thunderbit (bez Pythonu)
Na rovinu: pracuji v Thunderbit, takže tuhle část ber s tím kontextem. Ale opravdu jsem všechny čtyři metody testoval za sebou a rozdíl v rychlosti získání dat byl výrazný.
Thunderbit je AI web scraper jako rozšíření do Chrome. Hlavní myšlenka: místo psaní CSS selektorů nebo Python kódu si AI přečte stránku a sama zjistí, jaká data má vytáhnout. Pro Amazon Best Sellers má Thunderbit předpřipravené šablony, které fungují na jedno kliknutí.
Krok 1: Nainstalujte rozšíření Thunderbit do Chrome
Přejdi do Chrome Web Store a klikni na „Přidat do Chromu“. Zaregistruj si bezplatný účet — free tier ti dá dost kreditů na vyzkoušení.
Krok 2: Otevřete stránku Amazon Best Sellers
Otevři v Chromu jakoukoli stránku kategorie Amazon Best Sellers. Například:
https://www.amazon.com/Best-Sellers-Electronics/zgbs/electronics/
Krok 3: Klikněte na „AI Suggest Fields“
Otevři postranní panel Thunderbit a klikni na „AI Suggest Fields“. AI analyzuje strukturu stránky a navrhne sloupce: Product Name, Price, Rating, Image URL, Vendor, Product URL a Rank. V mém testu správně rozpoznala všechna relevantní pole během asi 3 sekund.

Sloupce můžeš přejmenovat, smazat nebo přidat. Můžeš dokonce přidat vlastní AI prompt pro každé pole — například „zařaď jako Electronics/Apparel/Home“ a doplň ke každému produktu kategorii.
Krok 4: Klikněte na „Scrape“
Stiskni tlačítko „Scrape“. Thunderbit vyplní strukturovanou tabulku se všemi daty o produktech ze stránky. V cloud režimu zvládne až 50 stránek najednou paralelně a automaticky řeší lazy loading i stránkování.
Krok 5: Exportujte zdarma
Klikni na „Export“ a vyber cíl: Excel, Google Sheets, Airtable nebo Notion. Všechny exporty jsou zdarma ve všech plánech — bez skrytých poplatků.

Celý proces mi trval asi 90 sekund od otevření stránky po hotovou tabulku. Pro srovnání: metoda 1 zabrala asi 20 minut (včetně ladění lazy loadingu), metoda 2 asi 35 minut (včetně nastavení Selenium) a metoda 3 asi 15 minut (včetně založení účtu u API).
Proč Thunderbit funguje na Amazon dobře
Protože AI stránku čte pokaždé znovu, automaticky se přizpůsobí změnám rozložení — není potřeba spravovat CSS selektory. Tím přímo řeší nejčastější stížnost v diskuzích o scrapingu: „Základní web scraper nestačí, je potřeba přidávat spoustu ošetření změn prvků.“ Když Amazon změní DOM (což se děje často), nemusíš nic upravovat.
Cloudové scrapování transparentně řeší rotaci proxy, renderování i anti-bot opatření. Pro uživatele, kteří chtějí řešení typu „prostě to funguje“, tím odpadá celé trápení s blokacemi.
Anti-ban playbook: jak se vyhnout blokaci ze strany Amazonu
Amazon má agresivní detekci botů. Při testování mi Amazon dočasně zablokoval IP adresu a uživatelé na fórech hlásí totéž: „všude chyby, Amazon mě začal přesměrovávat na homepage.“ Pokud jdeš cestou Pythonu (metody 1–3), tahle část je zásadní.
Tady je vrstvená strategie od základních po pokročilé kroky:
1. Rotujte User-Agent řetězce
Posílat pořád stejný User-Agent je varovný signál. Použij sadu 5+ řetězců z ukázkového kódu v metodě 1 a u každého requestu vyber náhodně jeden:
headers = {"User-Agent": random.choice(USER_AGENTS)}
2. Přidejte náhodné prodlevy mezi requesty
Pevné prodlevy jsou detekovatelné (vzory). Náhodné jsou bezpečnější:
time.sleep(random.uniform(2, 5))
Zjistil jsem, že interval 2–5 sekund mezi requesty mě u menších dávek (pod 50 requestů) udržel pod radarem. U větších běhů bych to zvedl na 3–7 sekund.
3. Používejte rotaci proxy
Tohle je zásadní. Benchmarky Proxyway ukazují, že rezidenční proxy mají na Amazonu průměrnou úspěšnost kolem 94 % oproti ~59 % u datacentrových proxy — rozdíl 35 procentních bodů. Amazon používá TLS fingerprinting, behaviorální analýzu a rate limiting podle IP, takže běžné datacentrové IP adresy jsou odhaleny během několika sekund.
Rezidenční proxy jsou dražší ($2–$12 za GB podle poskytovatele), ale výrazně spolehlivější. Příklad:
proxies = {
"http": "http://user:pass@residential-proxy.example.com:8080",
"https": "http://user:pass@residential-proxy.example.com:8080"
}
response = requests.get(url, headers=headers, proxies=proxies)
4. Zpevněte fingerprint prohlížeče (Selenium)
options.add_argument('--disable-blink-features=AutomationControlled')
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
# Po inicializaci driveru odstraňte příznak navigator.webdriver
driver.execute_cdp_cmd('Page.addScriptToEvaluateOnNewDocument', {
'source': "Object.defineProperty(navigator, 'webdriver', {get: () => undefined})"
})
5. Spravujte relace a cookies
Uchovávání cookies mezi requesty dělá scraper podobnější skutečnému uživatelskému sezení:
session = requests.Session()
# Nejdřív navštivte homepage, abyste získali realistické cookies
session.get("https://www.amazon.com", headers=headers)
time.sleep(2)
# Pak scrapujte cílovou stránku
response = session.get(target_url, headers=headers)
6. Kdy se vyplatí obejít celé trápení
Pro uživatele, kteří nechtějí nic z toho řešit, Thunderbit cloud scraping transparentně zvládá rotaci proxy, renderování i anti-bot opatření. Scraping API navíc řeší většinu těchto věcí už v základu. Podle mých zkušeností často zabere ladění anti-ban problémů víc času než napsání samotného scraperu — takže přístup „prostě to funguje“ má skutečnou návratnost.
Obohacení o detailní stránky: jak získat bohatší data z produktových stránek
Stránka Best Sellers ukazuje jen základní informace — název, cenu, hodnocení, pořadí. Skutečná hodnota pro FBA research ale leží na detailních stránkách jednotlivých produktů. Tohle ti chybí, pokud scrapuješ jen listing:
| Pole | Listing stránka | Produktová detailní stránka |
|---|---|---|
| Název produktu | ✅ | ✅ |
| Cena | ✅ | ✅ |
| Hodnocení | ✅ | ✅ |
| BSR pořadí | ✅ | ✅ (včetně pořadí v podkategorii) |
| Značka | ❌ | ✅ |
| ASIN | ❌ | ✅ |
| Datum prvního uvedení | ❌ | ✅ |
| Rozměry / hmotnost | ❌ | ✅ |
| Počet prodejců | ❌ | ✅ |
| Odrážkové vlastnosti | ❌ | ✅ |
| Majitel Buy Boxu | ❌ | ✅ |
Pole „Date First Available“ je obzvlášť cenné — říká, jak dlouho je produkt na trhu, což je důležitý signál pro analýzu konkurence. A znalost počtu prodejců a vlastníka Buy Boxu pomáhá posoudit, jestli se do dané niky vůbec vyplatí vstupovat (pokud Amazon drží více než 30 % podílu Buy Boxu, je konkurence extrémně obtížná).
Python přístup: procházení URL produktů v cyklu
Po získání URL produktů z listing stránky projdi každou s pauzou:
for product in products:
time.sleep(random.uniform(3, 6))
detail_response = session.get(product["URL"], headers={"User-Agent": random.choice(USER_AGENTS)})
detail_soup = BeautifulSoup(detail_response.text, "html.parser")
# Extrakce značky
brand_tag = detail_soup.find("a", id="bylineInfo")
product["Brand"] = brand_tag.get_text(strip=True) if brand_tag else "N/A"
# Extrakce ASIN z kódu stránky nebo URL
# Extrakce Date First Available z tabulky s detaily produktu
# ... další pole ...
Upřímné varování: návštěva 100 jednotlivých produktových stránek výrazně zvyšuje riziko blokace. Počítej s rotací proxy a delšími prodlevami.
Thunderbit přístup: scrapování podstránek jedním kliknutím
Po stažení listing stránky do tabulky klikni v Thunderbit na „Scrape Subpages“. AI navštíví každou URL produktu a automaticky obohatí tabulku o další sloupce — značka, ASIN, specifikace, funkce. Bez dalšího kódu, selektorů a nastavování. Je to obzvlášť užitečné pro e-commerce týmy, které potřebují kompletní obraz pro sourcingová rozhodnutí, ale nechtějí psát a udržovat parser detailních stránek.
Automatizace opakovaných scrapeů: sledujte Best Sellers v čase
Jednorázové stažení je užitečné, ale průběžný monitoring je místo, kde leží skutečná konkurenční výhoda. Sledování, které produkty rostou a klesají, včasné odhalování trendů a monitoring cenových posunů během týdnů či měsíců — to odděluje běžný průzkum od rozhodování založeného na datech.
Python přístup: plánování pomocí cron
Na Linuxu nebo Macu můžeš Python skript naplánovat pomocí cronu. Tady je záznam v crontabu pro denní scraping v 8:00:
0 8 * * * /usr/bin/python3 /home/user/amazon_scraper.py >> /home/user/logs/scrape.log 2>&1
Pro týdenní scraping každé pondělí v 9:00:
0 9 * * 1 /usr/bin/python3 /home/user/amazon_scraper.py >> /home/user/logs/scrape.log 2>&1
Na Windows použij Task Scheduler pro stejný efekt. Pokud chceš plánování bez nutnosti nechávat zapnutý notebook, nasaď to na VPS nebo AWS Lambda — ale tím přibude infrastruktura a složitost.
Přidej logging a chybová upozornění, abys zachytil neúspěšné běhy. Nic není horší než zjistit, že scraper ti tiše přestal fungovat před dvěma týdny.
Thunderbit přístup: Scheduled Scraper v běžné řeči
Thunderbit Scheduled Scraper ti umožní popsat interval přirozeným jazykem — napiš „každé pondělí v 9 ráno“ nebo „každý den v 8 ráno“ a AI plán pochopí. Scrapy běží na cloudových serverech Thunderbit (není potřeba žádný spuštěný prohlížeč ani počítač) a data se automaticky exportují do Google Sheets nebo Airtable. Vznikne tak živý monitoring dashboard bez správy serveru — ideální pro operations týmy, které chtějí mít přehled bez DevOps režie.
Právní a etické aspekty scrapování Amazonu
Nejsem právník a tohle není právní rada. Ale ignorovat právní rámec v návodu na scraping by bylo nezodpovědné — uživatelé na fórech se na podmínky používání ptají úplně oprávněně.
Amazon robots.txt: K roku 2026 obsahuje robots.txt Amazonu více než 80 konkrétních cest s Disallow, ale /gp/bestsellers/ není pro standardní user-agenty výslovně blokovaná. Nicméně více než 35 AI specifických user-agentů (ClaudeBot, GPTBot, Scrapy apod.) dostává plošné Disallow: /. To, že něco není výslovně zakázané, neznamená, že Amazon scrapování schvaluje.
Podmínky používání Amazonu: Conditions of Use Amazonu (aktualizované v květnu 2025) výslovně zakazují „použití jakéhokoli automatizovaného procesu nebo technologie k přístupu, získávání, kopírování či monitorování jakékoli části webu Amazonu“ bez písemného souhlasu. To není teorie — Amazon zažaloval Perplexity AI v listopadu 2025 kvůli neautorizovanému automatizovanému přístupu a získal předběžné opatření.
Precedent hiQ v. LinkedIn: V případu hiQ Labs v. LinkedIn (Ninth Circuit, 2022) soud rozhodl, že scrapování veřejně dostupných dat pravděpodobně neporušuje Computer Fraud and Abuse Act. hiQ ale nakonec uzavřelo dohodu a souhlasilo se zastavením scrapování — vítězství v rámci CFAA tě neochrání před žalobami z porušení smlouvy.
Praktická doporučení:
- Scrapuj pouze veřejně dostupná data (ceny, BSR, názvy produktů — ne osobní údaje)
- Respektuj rate limit a nepřetěžuj servery
- Používej data pro legitimní konkurenční analýzu
- Před velkoobjemovým scrapováním se poraď s vlastním právníkem
- Měj na paměti, že 20+ států USA má dnes komplexní legislativu v oblasti ochrany soukromí
Cloudové scrapování Thunderbit používá standardní požadavky podobné běžnému prohlížeči, ale vždy si ověř soulad s právníkem ve své organizaci.
Kterou metodu byste měli použít? Rychlý rozhodovací průvodce
Stručně:
- „Učím se Python a chci projekt na víkend.“ → Metoda 1 (requests + BeautifulSoup). Naučíš se hodně o HTTP requestech, parsování HTML a anti-bot ochraně Amazonu.
- „Potřebuji scrapovat stránky s těžkým JavaScriptem nebo přihlášenými relacemi.“ → Metoda 2 (Selenium). Je těžkopádnější, ale zvládá dynamický obsah.
- „Dělám produkční scraping ve velkém.“ → Metoda 3 (Scraping API). Nech proxy a rendering na někom jiném. Total cost of ownership vychází ve prospěch API pod 500 tisíc requestů měsíčně.
- „Nejsem vývojář a chci data do 2 minut.“ → Metoda 4 (Thunderbit). Žádný kód, žádné selektory, žádná údržba.
- „Potřebuji průběžný monitoring bez správy serveru.“ → Thunderbit Scheduled Scraper. Nastavíš a zapomeneš.
Závěr a hlavní poznatky
Po víkendu testování mi zůstalo hlavně toto:
requests + BeautifulSoup je skvělé na učení, ale omezení lazy loadingu (jen asi 30 z 50 produktů) a křehké CSS selektory z něj dělají nepraktické řešení pro produkci.
Selenium řeší problém lazy loadingu a zachytí všech 50 produktů na stránku, ale je pomalé, náročné na paměť a Amazon ho pořád dokáže detekovat.
Scraping API nabízí nejlepší spolehlivost pro produkční scraping — ~99% úspěšnost na Amazonu — ale náklady rostou a stejně musíš psát parsovací kód.
Thunderbit jednoznačně přinesl nejrychlejší čas k datům. AI si poradí se změnami rozložení, lazy loadingem, stránkováním i anti-bot opatřeními bez jakékoli konfigurace. Pro netechnické uživatele nebo týmy, které potřebují opakovaná data bez DevOps režie, je to nejpraktičtější volba.
Největší ponaučení? Anti-bot obrana Amazonu a časté změny rozložení znamenají, že řešení bez údržby ti v dlouhodobém horizontu ušetří nejvíc času. Každá hodina strávená laděním rozbitých selektorů a rotací proxy je hodina, kterou nestrávíš skutečnou analýzou.
Chceš vyzkoušet no-code přístup? Bezplatný plán Thunderbit ti dá dost kreditů na stažení několika kategorií Best Sellers a můžeš si výsledky ověřit sám. Dáváš přednost Pythonu? Ukázky kódu výše by ti měly pomoct začít. V obou případech budeš mít data z Amazon Best Sellers v tabulce místo zírání do záložky v prohlížeči.
Další informace o přístupech ke scrapování webu najdeš v našich návodech na scraping produktů a recenzí z Amazonu, exktrakci dat z webu do Excelu a nejlepší AI web scrapery. Můžeš se také podívat na podrobné ukázky na Thunderbit YouTube kanálu.
Zjistit více


