Jak používat ChatGPT pro škrábání webu pomocí pluginů a interpretu kódu

Detailní návod, jak využít ChatGPT Code Interpreter a jeho pluginy pro web scraping.

Pokud nemáte v plánu vytvářet vlastní obsah, je pravděpodobné, že budete potřebovat určité základní informace. Nebo možná budete chtít prozkoumat konkurenční prostředí. Existuje nespočet důvodů, proč by se někdo mohl zajímat o obsah konkrétní webové stránky.

Web scraping, neboli extrakce dat z webových stránek, je proces, který se pro tyto účely skvěle hodí.

Existuje několik přístupů, jak toho dosáhnout. Můžete si pořídit specializované nástroje pro profesionální scraping rozsáhlých webových stránek. Alternativně můžete potřebovat specifické konfigurace pro vlastní zpracování.

V každém případě je takový přístup drahý, časově náročný a náročný pro začátečníky, zejména pokud se jedná o scraping několika webových stránek.

Přehled využití ChatGPT pro Web Scraping

Představovat ChatGPT asi není potřeba, že?

Ve zkratce, ChatGPT je generativní umělá inteligence, která reaguje podobně jako člověk. Získáte konverzační rozhraní, kde můžete zadávat různé požadavky, jako jsou dotazy na historické události, psaní esejí, sumarizace, překlady, kódování a mnoho dalšího.

ChatGPT obvykle odpovídá textem. Nicméně, existují pluginy pro ChatGPT, které rozšiřují jeho schopnosti. A právě jeden takový plugin budeme používat. Kromě toho využijeme i jeho Code Interpreter pro scraping webových stránek se složitou strukturou nebo s aktivní ochranou proti scrapingu.

Je důležité si uvědomit, že ChatGPT nabízí jak bezplatnou, tak placenou verzi. Pro použití pluginu pro web scraping nebo Code Interpreter budete potřebovat placené předplatné (aktuálně 20 USD měsíčně).

V následujících částech si ukážeme postup krok za krokem.

Upozornění: Než se pustíte do scrapingu, ujistěte se, že webová stránka, kterou chcete zpracovat, umožňuje extrakci obsahu. Pokud tomu tak není, kontaktujte správce webu a získejte souhlas, abyste se vyhnuli právním komplikacím.

Web Scraping pomocí ChatGPT pluginu

Přihlaste se ke svému OpenAI účtu, najeďte kurzorem myši na GPT-4 (aktuální placená verze) a klikněte na Pluginy.

Dále klikněte na možnost „No plugins enabled“ (Žádné pluginy nejsou povoleny), posuňte se dolů a klikněte na „Plugin Store“ (Obchod s pluginy).

Místo možnosti „No plugins enabled“ (Žádné pluginy nejsou povoleny) uvidíte ikonu pluginu, pokud je nějaký aktivní. V takovém případě klikněte na tuto ikonu, otevře se rozbalovací nabídka, kde ve spodní části naleznete odkaz na „Plugin store“ (Obchod s pluginy).

Tím se otevře obchod s pluginy. Vyhledejte plugin „Scraper“ a klikněte na „Install“ (Instalovat).

Vyberte tento plugin v rozhraní ChatGPT.

Po jeho aktivaci můžete ChatGPT požádat o extrakci dat z určité URL adresy a specifikovat, jaký obsah chcete seškrabat.

Otestoval jsem to na několika webech. Podívejte se sami.

Seškrabování webového magazínu

Jsme technologicky zaměřený webový magazín, a pro tuto ukázku jsem si vybral naši domovskou stránku etechblog.cz.com/.

Zde je zadání:

Prozkoumej tuto webovou stránku: https://etechblog.cz.com/ a připrav tabulku s názvy článků, autory, daty publikování a krátkým výtahem z prvních 10 článků.

Data lze následně exportovat do formátu CSV, uložit do textového souboru s příponou .csv a otevřít v tabulkovém editoru, jako je MS Excel.

Získávání dat ze stránky s nabídkami a slevami

V sekci nabídek na etechblog.cz vybíráme zajímavé nabídky na různé projekty. Co kdybychom všechny nabídky načetli do tabulky?

Připrav seznam nabídek z této webové stránky: https://etechblog.cz.com/deals/. Výsledky prezentuj v tabulkovém formátu.

Seškrabování dat z Wikipedie

Shrň nejnovější zprávy ze sekce "In the news" na této stránce Wikipedie: https://en.wikipedia.org/wiki/Main_Page do tabulky.

Seškrabování dat z e-shopů

Nakonec jsem zkusil seškrabat data z Amazon.com pro notebooky s použitím filtrů a vložil jsem URL do ChatGPT. A výsledek byl tento:

Problém je, že to není ojedinělý případ. Mnoho webových stránek má implementována opatření proti scrapingu. V takové situaci budete muset najít alternativní řešení pro získání dat, pokud není možné si předplatit specializované nástroje pro scraping.

V následujících částech představím jedno takové řešení.

Web scraping pomocí ChatGPT Code Interpreter

Code Interpreter je nově spuštěný nástroj ChatGPT, který se zaměřuje na úkoly související s programováním. Zatímco výchozí engine se spoléhá na textové odpovědi, Code Interpreter umí vizualizovat výstupy, analyzovat, ladit a spouštět kód, pracovat s binárními soubory softwaru a provádět mnoho dalších programátorsky zaměřených úkolů.

V tomto procesu si stáhneme zdrojový HTML kód, nahrajeme ho do ChatGPT Code Interpreter a budeme pokračovat se scrapingem.

Pro extrakci jsem vybral tuto stránku:

Nejprve uložíme webovou stránku jako HTML soubor. Přejděte na webovou stránku a stiskněte Ctrl+S.

Nyní máme soubor připravený pro scraping. Přejdeme k zadání požadavku.

Kromě textového zadání jsem přidal i ukázkové prvky pro rychlejší proces. Struktura webových stránek Amazonu je komplexní, a bez těchto vzorů by se scraping nemusel podařit nebo by nedal žádné použitelné výsledky.

Získání těchto prvků je jednoduché. Klikněte pravým tlačítkem myši kamkoliv na webové stránce a v kontextovém menu klikněte na „Prozkoumat“.

Nejprve klikněte na ikonu označenou jako 1. Tím se zvýrazní detaily při vybírání prvků ze stránky. Poté vyberte kontejner pro jakýkoli konkrétní produkt.

Ujistěte se, že jste vybrali ten nejvnitřnější kontejner. Můžete na něj najet myší a bude se stále zvýrazňovat. Jakmile získáte poslední rámeček, který blok pokrývá, můžete kliknout a na pravé straně zkopírovat třídu div elementu.

Podobně vyberte vzorky i pro další elementy.

Nakonec nahrajte HTML soubor a zadejte požadavek podobný tomuto:

Prozkoumej tento HTML kód a extrahuj názvy notebooků, ceny a hodnocení. Výsledky zobraz v tabulce v tomto rozhraní a také v CSV souboru ke stažení.

div class="s-card-container s-overflow-hidden aok-relative puis-include-content-margin puis puis-vfcg1duwvmpo42mcln9ojhiljk s-latency-cf-section s-card-border"
ukázka elementu názvu: span class="a-size-medium a-color-base a-text-normal"
ukázka elementu ceny: span class="a-price-whole"
ukázka elementu hodnocení: span class="a-size-base puis-bold-weight-text"

Zpracování dat v ChatGPT Code Interpreter nějakou dobu trvá. Budete dostávat průběžné informace, a nakonec bude připraven i soubor CSV.

Můžete si všimnout, že tabulka obsahuje i položky, které nejsou na původní webové stránce, zejména na začátku. V takovém případě musíte data znovu zkontrolovat a očistit od nadbytečných záznamů.

Pokud nějaké nadbytečné záznamy existují, můžete požádat ChatGPT o vygenerování čistého CSV souboru.

Závěrem

ChatGPT umí spoustu věcí a základní web scraping je jednou z nich. Je pravda, že nemusí být ideální pro někoho, kdo se snaží seškrabat stovky stránek. Nicméně vás nasměruje tím správným směrem a je ideální pro menší scraping.

V tomto návodu jsme použili plugin pro scraping a Code Interpreter. Zatímco pluginy fungují na mnoha standardních webech, druhý způsob se hodí pro weby s vlastní strukturou nebo pokud má stránka dynamické prvky (nekonečné posouvání, načítání dalšího obsahu, atd.).

A pro připomenutí, před zahájením scrapingu si vždy zkontrolujte podmínky používání dané webové stránky.

PS: Prozkoumejte i cloudová řešení pro web scraping a naše vlastní eTechBlog API pro scraping.