Web scraping: automatické stahování dat z webů
Web scraping je automatické stahování dat z webových stránek programem. Místo ručního kopírování projde program stránky, vytáhne z nich potřebné údaje – ceny, názvy, kontakty, parametry produktů – a uloží je do tabulky nebo databáze. Pro firmy je to užitečný nástroj i riziko: někdo může scrapovat i váš web.
Aktualizováno
K čemu firmy scraping používají
- sledování cen konkurence nebo dodavatelů,
- dostupnost zboží u dodavatele, který nemá feed,
- převod obsahu ze starého webu na nový, když chybí export,
- kontrola vlastního webu – chybějící popisky, rozbité odkazy, ceny,
- podklady pro analýzu trhu z veřejných zdrojů.
Vyhledávače dělají v principu totéž – jejich roboti procházejí web a ukládají obsah, viz heslo indexace.
Scraping, API, nebo feed
Než začnete scrapovat, zjistěte, jestli zdroj nenabízí lepší cestu. Dodavatelé často mají XML feed s produkty a cenami, služby mají API. Obojí je stabilnější a legálně čistší. Scraping je poslední možnost a počítejte s údržbou – při každé změně cizího webu se musí upravit.
Pravidla slušného scrapingu
- respektujte robots.txt a podmínky webu,
- stahujte pomalu, ať cizí server nepřetížíte,
- neberte osobní údaje, pokud k tomu nemáte právní důvod,
- nekopírujte cizí texty a fotky na vlastní web – jsou chráněné autorským právem,
- identifikujte svého robota, ne se maskovat za běžný prohlížeč.
Jak chránit vlastní web
Úplně scrapingu nezabráníte – co vidí návštěvník, může stáhnout i program. Pomůže omezení počtu požadavků z jedné adresy, ochrana proti botům na úrovni hostingu nebo CDN a hlídání kopií obsahu. Pozor, aby ochrana neblokovala vyhledávače a běžné zákazníky (projeví se to třeba chybou 403).
Napojení na data dodavatele nebo převod obsahu ze starého webu naceníme podle rozsahu, menší úlohy účtujeme 1 000 Kč za hodinu.
Časté otázky
Je web scraping legální?
Záleží na tom, co a jak stahujete. Problém mohou být osobní údaje (GDPR), autorská práva k textům a fotkám, ochrana databáze, obchodní podmínky webu a přetěžování cizího serveru. Stahovat veřejné ceny pro vlastní srovnání je jiná situace než kopírovat cizí katalog s fotkami. Před větším projektem se poraďte s právníkem.
Jak poznám, že někdo stahuje můj web?
V logu serveru uvidíte velké množství požadavků z jedné nebo několika adres, často v pravidelných intervalech a na stránky, které lidé běžně neprocházejí. Na webu se to může projevit zpomalením. Kopie vašich textů a fotek na cizím webu se dá dohledat vyhledáváním přesných vět nebo obrázků.
Nahradí scraping napojení přes API?
Když druhá strana nabízí API nebo datový feed, je to vždy lepší cesta: data jsou strukturovaná, stabilní a máte k nim svolení. Scraping se rozbije, kdykoli cizí web změní vzhled. Používá se tam, kde jiná cesta není.