Věděli jste, že pomocí Tabulek Google je možné získávat data z webu? Zde je návod, jak to udělat.
Web scraping je výkonná technika pro extrahování informací z webových stránek a jejich automatickou analýzu. I když to můžete udělat ručně, může to být únavný a časově náročný úkol. Nástroje pro stírání webu urychlují a zefektivňují proces a přitom stojí méně.
Zajímavé je, že Tabulky Google mají potenciál být vaším komplexním nástrojem pro odstraňování webových stránek díky funkci IMPORTXML. S IMPORTXML můžete snadno sbírat data z webových stránek a používat je pro analýzu, vytváření sestav nebo jakékoli jiné úlohy založené na datech.
Funkce IMPORTXML v Tabulkách Google
Tabulky Google poskytují vestavěnou funkci nazvanou IMPORTXML, která umožňuje importovat data z webových formátů, jako jsou XML, HTML, RSS a CSV. Tato funkce může změnit hru, pokud chcete shromažďovat data z webových stránek bez použití složitého kódování.
Zde je základní syntaxe IMPORTXML:
=IMPORTXML(url, xpath_query)
- url: Adresa URL webové stránky, ze které chcete získat data.
- xpath_query: Dotaz XPath, který definuje data, která chcete extrahovat.
XPath (XML Path Language) je jazyk používaný k navigaci v dokumentech XML, včetně HTML, což vám umožňuje určit umístění dat ve struktuře HTML. Pro správné používání IMPORTXML je nezbytné porozumět dotazům XPath.
Pochopení XPath
XPath poskytuje různé funkce a výrazy pro navigaci a filtrování dat v dokumentu HTML. Komplexní průvodce XML a XPath přesahuje rozsah tohoto článku, takže se spokojíme s některými základními koncepty XPath:
- Výběr prvku: Prvky můžete vybrat pomocí / a // k označení cest. Například, /html/body/div vybere všechny prvky div v těle dokumentu.
- Výběr atributu: Chcete-li vybrat atributy, můžete použít @. Například, //@href vybere všechny href atributy na stránce.
- Predikátové filtry: Prvky můžete filtrovat pomocí predikátů uzavřených v hranatých závorkách ([ ]). Například, /div[@class="container"] vybere všechny div prvky s třídou kontejner.
- Funkce: XPath poskytuje různé funkce jako např obsahuje(), začíná s(), a text() k provádění konkrétních akcí, jako je kontrola obsahu textu nebo hodnot atributů.
Jak extrahovat XPath z webu
Zatím znáte syntaxi IMPORTXML, znáte adresu URL webu a víte, který prvek chcete extrahovat. Ale jak získáte XPath prvku?
Nemusíte znát strukturu webu nazpaměť, abyste mohli extrahovat data pomocí IMPORTXML. Ve skutečnosti má každý prohlížeč šikovný nástroj, který vám umožní okamžitě zkopírovat cestu XPath jakéhokoli prvku.
Nástroj Kontrola prvku umožňuje extrahovat XPath z prvků webu. Zde je postup:
- Pomocí preferovaného webového prohlížeče přejděte na webovou stránku, kterou chcete seškrábat.
- Najděte prvek, který chcete seškrábnout.
- Klepněte pravým tlačítkem myši na prvek.
- Vybrat Zkontrolujte prvek z nabídky po kliknutí pravým tlačítkem. Váš prohlížeč otevře panel, který zobrazí HTML kód webové stránky. Příslušný HTML prvek bude v kódu zvýrazněn.
- V panelu Zkontrolovat prvek klikněte pravým tlačítkem na zvýrazněný prvek v kódu HTML.
- Klikněte Zkopírujte XPath zkopírujte adresu XPath prvku do schránky.
Nyní, když máte vše, co potřebujete, je čas vidět IMPORTXML v akci a seškrábat nějaké odkazy.
IMPORTXML můžete použít k seškrábání všech druhů dat z webových stránek. To zahrnuje odkazy, videa, obrázky a téměř jakýkoli prvek webu. Odkazy jsou jedním z nejvýraznějších prvků webové analýzy a o webu se můžete hodně dozvědět pouze analýzou stránek, na které odkazuje.
IMPORTXML vám umožňuje rychle seškrábat odkazy v Tabulkách Google a poté je dále analyzovat pomocí různých funkcí, které Tabulky Google nabízejí.
Chcete-li odstranit všechny odkazy z webové stránky, můžete použít následující vzorec:
=IMPORTXML(url, "//a/@href")
Tento dotaz XPath vybere vše href atributy A prvky, které efektivně extrahují všechny odkazy na stránce.
=IMPORTXML("https://en.wikipedia.org/wiki/Nine_Inch_Nails", "//a/@href")
Výše uvedený vzorec smaže všechny odkazy v článku na Wikipedii.
Je dobré zadat adresu URL webové stránky do samostatné buňky a poté na tuto buňku odkazovat. Zabráníte tak tomu, aby vaše receptura byla příliš dlouhá a nepraktická. Totéž můžete udělat s dotazem XPath.
2. Seškrábání všech textů odkazů
Chcete-li extrahovat text odkazů spolu s jejich adresami URL, můžete použít:
=IMPORTXML(url, "//a")
Tento dotaz vybere všechny prvky a z výsledků můžete extrahovat text odkazu a adresy URL.
=IMPORTXML("https://en.wikipedia.org/wiki/Nine_Inch_Nails", "//a")
Výše uvedený vzorec získá texty odkazů ve stejném článku na Wikipedii.
Někdy může být nutné odstranit konkrétní odkazy na základě kritérií. Mohlo by vás například zajímat extrahování odkazů obsahujících konkrétní klíčové slovo nebo odkazů umístěných v určité části stránky.
Se správnou znalostí XPath můžete přesně určit jakýkoli prvek, který hledáte.
Chcete-li odstranit odkazy, které obsahují konkrétní klíčové slovo, můžete použít funkci include() XPath:
=IMPORTXML(url, "//a[contains(@href, 'keyword')]/@href")
Tento dotaz vybere atributy href prvků, kde href obsahuje zadané klíčové slovo.
=IMPORTXML("https://en.wikipedia.org/wiki/Nine_Inch_Nails", "//a[contains(@href, 'record')]/@href")
Výše uvedený vzorec seškrábe všechny odkazy, které obsahují slovo záznam ve svém textu ve vzorovém článku na Wikipedii.
Chcete-li odstranit odkazy z určité části stránky, můžete zadat cestu XPath této části. Například:
=IMPORTXML(url, "//div[@class='section']//a/@href")
Tento dotaz vybírá atributy href prvků v prvcích div s třídou "section."
Podobně níže uvedený vzorec vybere všechny odkazy v rámci třídy div, které mají třídu mw-content-container:
=IMPORTXML("https://en.wikipedia.org/wiki/Nine_Inch_Nails", "//div[@class='mw-content-container']//a/@href")
Stojí za zmínku, že IMPORTXML můžete použít pro více než jen seškrabování webu. K tomu můžete použít rodinu funkcí IMPORT importovat datové tabulky z webových stránek do Tabulek Google.
Ačkoli Tabulky Google a Excel sdílejí většinu svých funkcí, rodina funkcí IMPORT je pro Tabulky Google jedinečná. Budete muset zvážit jiné způsoby importovat data z webových stránek do Excelu.
Zjednodušte škrábání webu pomocí Tabulek Google
Web scraping pomocí Google Sheets a funkce IMPORTXML je všestranný a přístupný způsob shromažďování dat z webových stránek.
Zvládnutím XPath a pochopením toho, jak vytvářet efektivní dotazy, můžete odemknout plný potenciál IMPORTXML a získat cenné poznatky z webových zdrojů. Takže začněte škrábat a posuňte svou webovou analýzu na další úroveň!