Vedeli ste, že pomocou Tabuliek Google je možné zoškrabovať údaje z webových stránok? Tu je návod, ako to môžete urobiť.
Web scraping je výkonná technika na extrahovanie informácií z webových stránok a ich automatickú analýzu. Aj keď to môžete urobiť ručne, môže to byť únavná a časovo náročná úloha. Nástroje na zoškrabovanie webu zrýchľujú a zefektívňujú proces, pričom sú lacnejšie.
Je zaujímavé, že Tabuľky Google majú potenciál stať sa vaším nástrojom na zošrotovanie webu na jednom mieste vďaka funkcii IMPORTXML. Pomocou IMPORTXML môžete jednoducho zoškrabovať údaje z webových stránok a použiť ich na analýzu, vytváranie správ alebo akékoľvek iné úlohy založené na údajoch.
Funkcia IMPORTXML v Tabuľkách Google
Tabuľky Google poskytujú vstavanú funkciu s názvom IMPORTXML, ktorá vám umožňuje importovať údaje z webových formátov, ako sú XML, HTML, RSS a CSV. Táto funkcia môže zmeniť hru, ak chcete zbierať údaje z webových stránok bez použitia zložitého kódovania.
Tu je základná syntax IMPORTXML:
=IMPORTXML(url, xpath_query)
- url: Adresa URL webovej stránky, z ktorej chcete získať údaje.
- xpath_query: Dotaz XPath, ktorý definuje údaje, ktoré chcete extrahovať.
XPath (XML Path Language) je jazyk používaný na navigáciu v dokumentoch XML, vrátane HTML, ktorý vám umožňuje určiť umiestnenie údajov v rámci štruktúry HTML. Pochopenie dotazov XPath je nevyhnutné na správne používanie IMPORTXML.
Pochopenie XPath
XPath poskytuje rôzne funkcie a výrazy na navigáciu a filtrovanie údajov v dokumente HTML. Komplexný sprievodca XML a XPath presahuje rozsah tohto článku, takže sa uspokojíme s niektorými základnými konceptmi XPath:
- Výber prvku: Prvky môžete vybrať pomocou / a // na označenie ciest. Napríklad, /html/body/div vyberie všetky prvky div v tele dokumentu.
- Výber atribútu: Na výber atribútov môžete použiť @. Napríklad, //@href vyberie všetky href atribúty na stránke.
- Predikátové filtre: Prvky môžete filtrovať pomocou predikátov uzavretých v hranatých zátvorkách ([ ]). napr. /div[@class="container"] vyberie všetky div prvky s triedou kontajner.
- Funkcie: XPath poskytuje rôzne funkcie ako napr obsahuje(), začína s(), a text() na vykonávanie konkrétnych akcií, ako je kontrola obsahu textu alebo hodnôt atribútov.
Ako extrahovať XPath z webovej stránky
Zatiaľ poznáte syntax IMPORTXML, poznáte URL webovej stránky a viete, ktorý prvok chcete extrahovať. Ale ako získate XPath prvku?
Na extrahovanie údajov pomocou IMPORTXML nemusíte poznať štruktúru webovej lokality naspamäť. V skutočnosti má každý prehliadač šikovný nástroj, ktorý vám umožní okamžite skopírovať cestu XPath akéhokoľvek prvku.
Nástroj Skontrolovať prvok umožňuje extrahovať XPath z prvkov webovej stránky. Tu je postup:
- Prejdite na webovú stránku, ktorú chcete zoškrabať, pomocou preferovaného webového prehliadača.
- Nájdite prvok, ktorý chcete zoškrabať.
- Kliknite pravým tlačidlom myši na prvok.
- Vyberte Preskúmať prvok z ponuky po kliknutí pravým tlačidlom myši. Váš prehliadač otvorí panel, ktorý zobrazí HTML kód webovej stránky. Príslušný prvok HTML bude v kóde zvýraznený.
- Na paneli Skontrolovať prvok kliknite pravým tlačidlom myši na zvýraznený prvok v kóde HTML.
- Kliknite Skopírujte XPath skopírovať adresu XPath prvku do schránky.
Teraz, keď máte všetko, čo potrebujete, je čas vidieť IMPORTXML v akcii a zoškrabať nejaké odkazy.
IMPORTXML môžete použiť na zoškrabanie všetkých druhov údajov z webových stránok. To zahŕňa odkazy, videá, obrázky a takmer všetky prvky webovej stránky. Odkazy sú jedným z najvýznamnejších prvkov webovej analýzy a o webovej lokalite sa môžete veľa dozvedieť len analýzou stránok, na ktoré odkazuje.
IMPORTXML vám umožňuje rýchlo zoškrabať odkazy v Tabuľkách Google a potom ich ďalej analyzovať pomocou rôznych funkcií, ktoré Tabuľky Google ponúkajú.
Ak chcete odstrániť všetky odkazy z webovej stránky, môžete použiť nasledujúci vzorec:
=IMPORTXML(url, "//a/@href")
Tento dotaz XPath vyberie všetko href atribúty a prvky, ktoré efektívne extrahujú všetky odkazy na stránke.
=IMPORTXML("https://en.wikipedia.org/wiki/Nine_Inch_Nails", "//a/@href")
Vyššie uvedený vzorec zoškrabáva všetky odkazy v článku na Wikipédii.
Je dobré zadať adresu URL webovej stránky do samostatnej bunky a potom odkazovať na túto bunku. Predídete tak tomu, aby bol vzorec príliš dlhý a nepraktický. To isté môžete urobiť s dotazom XPath.
2. Zoškrabovanie všetkých textov odkazov
Ak chcete extrahovať text odkazov spolu s ich adresami URL, môžete použiť:
=IMPORTXML(url, "//a")
Tento dotaz vyberie všetky prvky a z výsledkov môžete extrahovať text odkazu a adresy URL.
=IMPORTXML("https://en.wikipedia.org/wiki/Nine_Inch_Nails", "//a")
Vzorec uvedený vyššie získa texty odkazov v tom istom článku na Wikipédii.
Niekedy možno budete musieť zoškrabať konkrétne odkazy na základe kritérií. Napríklad by vás mohlo zaujímať extrahovanie odkazov, ktoré obsahujú konkrétne kľúčové slovo, alebo odkazov, ktoré sa nachádzajú v konkrétnej časti stránky.
So správnou znalosťou XPath môžete presne určiť akýkoľvek prvok, ktorý hľadáte.
Ak chcete odstrániť odkazy, ktoré obsahujú konkrétne kľúčové slovo, môžete použiť funkciu obsahuje() XPath:
=IMPORTXML(url, "//a[contains(@href, 'keyword')]/@href")
Tento dotaz vyberá atribúty href prvkov, kde href obsahuje zadané kľúčové slovo.
=IMPORTXML("https://en.wikipedia.org/wiki/Nine_Inch_Nails", "//a[contains(@href, 'record')]/@href")
Vyššie uvedený vzorec zoškrabáva všetky odkazy, ktoré obsahujú slovo záznam vo svojom texte v rámci vzorového článku na Wikipédii.
Ak chcete odstrániť odkazy z určitej časti stránky, môžete zadať cestu XPath tejto časti. Napríklad:
=IMPORTXML(url, "//div[@class='section']//a/@href")
Tento dotaz vyberá atribúty href prvkov v prvkoch div s triedou „section“.
Podobne vzorec nižšie vyberie všetky odkazy v rámci triedy div, ktoré majú triedu mw-content-container:
=IMPORTXML("https://en.wikipedia.org/wiki/Nine_Inch_Nails", "//div[@class='mw-content-container']//a/@href")
Stojí za zmienku, že IMPORTXML môžete použiť na viac ako len na zoškrabovanie webu. Na to môžete použiť rodinu funkcií IMPORT importovať tabuľky údajov z webových stránok do Tabuliek Google.
Hoci Tabuľky Google a Excel zdieľajú väčšinu svojich funkcií, rodina funkcií IMPORT je pre Tabuľky Google jedinečná. Budete musieť zvážiť iné metódy importovať údaje z webových stránok do Excelu.
Zjednodušte sťahovanie webu pomocou Tabuliek Google
Zoškrabovanie webu pomocou Tabuľky Google a funkcie IMPORTXML je všestranný a prístupný spôsob zhromažďovania údajov z webových stránok.
Osvojením si XPath a pochopením, ako vytvárať efektívne dotazy, môžete odomknúť celý potenciál IMPORTXML a získať cenné poznatky z webových zdrojov. Takže začnite zoškrabovať a posuňte svoju webovú analýzu na vyššiu úroveň!