Získávání dat, známé také jako extrakce dat, je proces, při kterém se sbírají specifické informace z webových stránek. Uživatelé si mohou vybrat z mnoha typů dat, včetně textu, obrázků, videí, hodnocení, informací o produktech a dalších. Extrakce dat se často využívá pro průzkum trhu, analýzu nálad, sledování konkurence a pro získávání agregovaných přehledů.
Při práci s menším objemem dat je možné data získávat manuálně. To zahrnuje kopírování a vkládání vybraných informací z webových stránek do tabulkových procesorů nebo dokumentů v požadovaném formátu. Tento postup je například vhodný, když si jako zákazník chcete prohlédnout online recenze před nákupem a manuálně si vybrat relevantní hodnocení.
Naopak, pokud se jedná o velké soubory dat, manuální extrakce není efektivní. V takových případech je nutné použít automatizované techniky získávání dat. To může zahrnovat vývoj vlastních řešení pro extrakci, použití Proxy API nebo Scraping API.
Nicméně, tyto techniky mohou být méně spolehlivé. Některé webové stránky jsou chráněny pomocí CAPTCHA a je třeba spravovat roboty a proxy servery. Tyto úlohy vyžadují čas a mohou omezit rozsah extrahovaných informací.
Scraping Browser: Řešení
Všechny výše zmíněné problémy lze překonat pomocí nástroje Scraping Browser od společnosti Bright Data. Jedná se o univerzální prohlížeč, který usnadňuje sběr dat i z obtížně přístupných webových stránek. Jeho grafické uživatelské rozhraní je řízeno pomocí rozhraní Puppeteer nebo Playwright API, což z něj činí nástroj obtížně detekovatelný pro roboty.
Scraping Browser disponuje integrovanými funkcemi pro odblokování, které automaticky řeší všechny blokace. Prohlížeč je hostován na serverech Bright Data, což eliminuje potřebu nákladné interní infrastruktury pro zpracování rozsáhlých projektů extrakce dat.
Funkce prohlížeče Bright Data Scraping Browser
- Automatické odemykání webových stránek: Prohlížeč se automaticky adaptuje na řešení CAPTCHA, nové blokace, otisky prstů a další ochranu, čímž minimalizuje potřebu manuálních zásahů. Simuluje chování reálného uživatele.
- Rozsáhlá síť proxy: Umožňuje cílit na jakoukoli zemi díky síti více než 72 milionů IP adres. Uživatelé si mohou vybrat cílení na konkrétní města nebo dokonce operátory sítí a využívat špičkové technologie.
- Škálovatelnost: Prohlížeč umožňuje otevřít tisíce současných relací díky infrastruktuře Bright Data, která zpracuje všechny požadavky.
- Kompatibilita s Puppeteer a Playwright: Umožňuje provádět volání API a spouštět libovolný počet relací prohlížeče pomocí Puppeteer (Python) nebo Playwright (Node.js).
- Úspora času a zdrojů: Scraping Browser automatizuje nastavení proxy a eliminuje potřebu vlastního infrastruktury, což šetří čas i zdroje.
Jak nastavit Scraping Browser
- Navštivte webovou stránku Bright Data a v záložce „Scraping Solutions“ vyberte „Scraping Browser“.
- Zaregistrujte si účet. Máte dvě možnosti: „Spustit bezplatnou zkušební verzi“ nebo „Začít zdarma s Googlem“. Vyberte „Spustit bezplatnou zkušební verzi“. Účet můžete vytvořit manuálně nebo pomocí svého Google účtu.
- Po vytvoření účtu se zobrazí řídicí panel. Zvolte možnost „Proxy & Scraping Infrastructure“.
- V novém okně vyberte „Scraping Browser“ a klikněte na „Začít“.
- Uložte a aktivujte nastavení.
- Aktivujte bezplatnou zkušební verzi. Získáte kredit 5 USD na využití proxy. Pro vyzkoušení klikněte na první možnost. Pro náročnější uživatele je druhá možnost s kreditem 50 USD, pokud vložíte na účet 50 USD nebo více.
- Zadejte fakturační údaje. Platforma vám nebude nic účtovat. Fakturační údaje slouží pouze k ověření nového uživatele a zamezení zakládání více účtů.
- Vytvořte nový proxy. Po uložení fakturačních údajů můžete vytvořit nový proxy. Klikněte na ikonu „přidat“ a jako „Typ proxy“ vyberte „Scraping Browser“. Klikněte na „Přidat proxy“ a pokračujte.
- Vytvořte novou „zónu“. Potvrdíte vytvoření nové zóny kliknutím na „Ano“.
- Klikněte na „Vyzkoušet příklady kódu a integrace“. Zde naleznete příklady integrace proxy pro extrakci dat z cílové webové stránky pomocí Node.js nebo Python.
Nyní máte vše připravené k získávání dat. Pro ilustraci použijeme webovou stránku etechblog.cz.com. Pro tuto ukázku použijeme node.js. Předpokladem je instalace node.js.
Postupujte podle těchto kroků:
const puppeteer = require('puppeteer-core'); // should look like 'brd-customer-<ACCOUNT ID>-zone-<ZONE NAME>:<PASSWORD>' const auth="USERNAME:PASSWORD"; async function run(){ let browser; try { browser = await puppeteer.connect({browserWSEndpoint: `wss://${auth}@zproxy.lum-superproxy.io:9222`}); const page = await browser.newPage(); page.setDefaultNavigationTimeout(2*60*1000); await page.goto('https://example.com'); const html = await page.evaluate(() => document.documentElement.outerHTML); console.log(html); } catch(e) { console.error('run failed', e); } finally { await browser?.close(); } } if (require.main==module) run();
Upravíme kód na řádku 10 takto:
await page.goto(‚https://etechblog.cz.com/authors/‚);
Konečný kód bude vypadat takto:
const puppeteer = require('puppeteer-core'); // should look like 'brd-customer-<ACCOUNT ID>-zone-<ZONE NAME>:<PASSWORD>' const auth="brd-customer-hl_bc09fed0-zone-zone2:ug9e03kjkw2c"; async function run(){ let browser; try { browser = await puppeteer.connect({browserWSEndpoint: `wss://${auth}@zproxy.lum-superproxy.io:9222`}); const page = await browser.newPage(); page.setDefaultNavigationTimeout(2*60*1000); await page.goto('https://etechblog.cz.com/authors/'); const html = await page.evaluate(() => document.documentElement.outerHTML); console.log(html); } catch(e) { console.error('run failed', e); } finally { await browser?.close(); } } if (require.main==module) run();
node script.js
V terminálu se zobrazí výstup podobný následujícímu.
Jak exportovat data
Data lze exportovat různými způsoby v závislosti na tom, jak je chcete dále zpracovat. Nyní si ukážeme, jak data exportovat do HTML souboru. Upravíme skript tak, aby místo tisku do konzole vytvořil nový soubor s názvem data.html.
Upravte kód takto:
const puppeteer = require('puppeteer-core'); const fs = require('fs'); // should look like 'brd-customer-<ACCOUNT ID>-zone-<ZONE NAME>:<PASSWORD>' const auth="brd-customer-hl_bc09fed0-zone-zone2:ug9e03kjkw2c"; async function run() { let browser; try { browser = await puppeteer.connect({ browserWSEndpoint: `wss://${auth}@zproxy.lum-superproxy.io:9222` }); const page = await browser.newPage(); page.setDefaultNavigationTimeout(2 * 60 * 1000); await page.goto('https://etechblog.cz.com/authors/'); const html = await page.evaluate(() => document.documentElement.outerHTML); // Write HTML content to a file fs.writeFileSync('data.html', html); console.log('Data export complete.'); } catch (e) { console.error('run failed', e); } finally { await browser?.close(); } } if (require.main == module) { run(); }
Spusťte kód pomocí příkazu:
node script.js
V terminálu se zobrazí zpráva „Data export complete.“.
V adresáři projektu nyní naleznete soubor data.html s tisíci řádky kódu.
Toto je pouze základní ukázka možností Scraping Browseru. Můžete například extrahovat pouze jména autorů a jejich popisky. Stačí upravit kód tak, aby vybíral pouze potřebné informace.
Před použitím Scraping Browseru si stanovte, jaká data chcete extrahovat a podle toho upravte kód. Můžete extrahovat text, obrázky, videa, metadata a odkazy v závislosti na cílové webové stránce a struktuře HTML.
Nejčastější dotazy
Je extrakce dat a web scraping legální?
Web scraping je diskutabilní téma. Někteří jej považují za nemorální, zatímco jiní ho vidí jako legitimní nástroj. Legalita web scrapingu závisí na typu obsahu, který se získává, a na pravidlech cílové webové stránky. Obecně platí, že získávání osobních údajů, jako jsou adresy a finanční data, je považováno za nelegální. Před zahájením scrapingu si ověřte, zda webová stránka, ze které chcete data extrahovat, neobsahuje nějaké specifické směrnice. Vždy se ujistěte, že neextrahujete data, která nejsou veřejně dostupná.
Je Scraping Browser bezplatný nástroj?
Ne, Scraping Browser je placená služba. Bezplatná zkušební verze nabízí kredit 5 USD. Placené balíčky začínají na 15 USD/GB + 0,1 USD/h. Můžete také zvolit platbu za spotřebu, která začíná na 20 USD/GB + 0,1 USD/h.
Jaký je rozdíl mezi scrapingovými a bezhlavými prohlížeči?
Scraping Browser je prohlížeč s grafickým uživatelským rozhraním (GUI). Bezhlavé prohlížeče, jako je Selenium, nemají grafické rozhraní. Bezhlavé prohlížeče se používají k automatizaci web scrapingu, ale někdy mají omezení, pokud jde o řešení CAPTCHA a detekci robotů.
Závěrem
Jak můžete vidět, Scraping Browser zjednodušuje extrakci dat z webových stránek. Oproti nástrojům jako Selenium je uživatelsky přívětivější. Díky intuitivnímu rozhraní a dobré dokumentaci je vhodný i pro uživatele bez vývojářských znalostí. Nástroj je vybaven pokročilými funkcemi odblokování, což ho činí účinným pro všechny, kteří chtějí automatizovat tyto procesy.
Doporučujeme také prozkoumat možnosti, jak zabránit ChatGPT pluginům ve scrapování obsahu vaší webové stránky.