I. Dynamický seznam
Zadání
Vytvořit v Tabulkách Google pomocí XPath dynamický seznam top 48 mobilních telefonů podle Heureka.cz, který obsahuje název, cenové rozpětí a hodnocení.
Výstup
Cesta k názvu prvního (top 1) mobilního telefonu vypadá takto:
/html[@class='js']/body/div[@class='scope-essentials-v8.5.0 scope-category-search']/div[@id='root']/div[@class='c-offscreen c-offscreen@lteLine']/div[@class='o-wrapper o-wrapper--fill-medium-margin l-category-search']/div[@class='l-category-search__wrapper']/main[@class='l-category-search__content']/section[@class='l-products']/div[@class='l-products__container c-product-list o-wrapper__overflowing@lteLine is-not-fetching']/ul[@class='c-product-list__items']/li[@class='c-product-list__item'][1]/section[@class='c-product']/div[@class='c-product__container']/div[@class='c-product__info']/div[@class='c-product__content']/h3[@class='c-product__title']/a[@class='c-product__link']
Code language: JavaScript (javascript)
Dá se zjednodušit až na zápis:
//h3[@class='c-product__title']/a[@class='c-product__link']
Code language: JSON / JSON with Comments (json)
Obdobně lze získat cenové rozpětí:
//a[@class='c-product__price']
Code language: JSON / JSON with Comments (json)
A také hodnocení:
//span[@class='c-star-rating__rating-value u-base']
Code language: JSON / JSON with Comments (json)
Heureka.cz stránkuje po 24 výsledcích, přičemž číslo stránky nese v URL parametr f
.
V Tabulkách Google jsem použil funkci IMPORTXML
.
Výsledné vzorce „stahují data“ z prvních dvou stránek — tedy pro prvních 48 výsledků.
Takto vypadá vzorec pro název:
={IMPORTXML("https://mobilni-telefony.heureka.cz/?f=1";"//h3[@class='c-product__title']/a[@class='c-product__link']"); IMPORTXML("https://mobilni-telefony.heureka.cz/?f=2";"//h3[@class='c-product__title']/a[@class='c-product__link']")}
Code language: JavaScript (javascript)
Takto pro cenové rozpětí:
={IMPORTXML("https://mobilni-telefony.heureka.cz/?f=1";"//a[@class='c-product__price']"); IMPORTXML("https://mobilni-telefony.heureka.cz/?f=2";"//a[@class='c-product__price']")}
Code language: JavaScript (javascript)
A podobně pro hodnocení:
={IMPORTXML("https://mobilni-telefony.heureka.cz/?f=1";"//span[@class='c-star-rating__rating-value u-base']"); IMPORTXML("https://mobilni-telefony.heureka.cz/?f=2";"//span[@class='c-star-rating__rating-value u-base']")}
Code language: JavaScript (javascript)
Tento postup má drobný problém:
Ne všechny produkty mají zadaná hodnocení.
Pokud produkt nemá zadané hodnocení, řádek se při importu bohužel nepřeskočí, takže od prvního produktu bez zadaného hodnocení jejich výpis v tabulce nelícuje s názvem.
A nevím, jak to vyřešit. 🤷♂️
Výsledný dynamický seznam se aktualizuje každých 5 min:
Původní tabulka je k náhledu tady.
II. Nástroje
Zadání
Vyzkoušejte jeden z nástrojů Voyant Tools a Geneea.
Výstup
V nástroji Voyant Tools jsem zkusil analyzovat korpus výroční zprávy Masarykovy univerzity.
Zaujala mě rychlost analýzy i vykreslení vizualizací — v dobrém, zchroustat dokument o 182 stránkách trvalo malou chvíli.
Napadají mě konkrétní use casy:
- rychlá analýza právě výročních zpráv (co jsou ta klíčová témata?),
- zběžné kódování přepisů rozhovorů (jaký je základní kontext?),
- podrobné lingvistické zkoumání jazykových korpusů (jak se liší?),
- ověření čitelnosti textu (jaká je hustota slovní zásoby, kolik slov má průměrná věta?).