Začněte nyníZačněte zdarma

Výběr uzlů podle počtu jejich potomků

Jak bylo ukázáno ve videu, funkci XPATH count() lze použít uvnitř predikátu k zúžení výběru na uzly, které odpovídají určitému počtu potomků. To se hodí zejména tehdy, když tvůj scraper potřebuje, aby měly některé uzly minimální počet podřízených elementů.

Zde je výňatek ze stránky (bez tříd nebo ID…), kterou bys mohl/a scrapovat:

...
<div>
  <h1>Tomorrow</h1>
</div>
<div>
  <h2>Berlin</h2>
  <p>Temperature: 20°C</p>
  <p>Humidity: 50%</p>
</div>
<div>
  <h2>London</h2>
  <p>Temperature: 15°C</p>
</div>
<div>
  <h2>Zurich</h2>
  <p>Temperature: 22°C</p>
  <p>Humidity: 60%</p>
</div>
...

Zajímají tě pouze divy, které mají přesně jeden nadpis h2 a alespoň dva odstavce, protože tvoje aplikace si neporadí s neúplnými předpověďmi počasí.

Výše uvedené HTML máš k dispozici prostřednictvím forecast_html.

Toto cvičení je součástí kurzu

Web Scraping v R

Zobrazit kurz

Pokyny k cvičení

  • Vyber požadované divy pomocí vhodného XPATH selektoru s využitím funkce count().

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# Select only divs with one header and at least two paragraphs
forecast_html %>%
	html_elements(xpath = '___')
Upravit a spustit kód