Zacznij terazZacznij za darmo

Wyodrębnianie węzłów na podstawie liczby ich potomków

Jak pokazano w filmie, funkcja XPATH count() może być używana w predykacie, aby zawęzić wybór do węzłów spełniających określony warunek dotyczący liczby potomków. Jest to szczególnie przydatne, gdy skrobak zależy od tego, czy dane węzły mają minimalną liczbę dzieci.

Oto fragment strony (bez żadnych klas ani identyfikatorów…), którą możesz scrapować:

...
<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>
...

Interesują cię tylko te divy, które mają dokładnie jeden nagłówek h2 i co najmniej dwa akapity – twoja aplikacja nie radzi sobie bowiem z niekompletnymi prognozami pogody.

Powyższy kod HTML jest dostępny jako forecast_html.

To ćwiczenie jest częścią kursu

Web Scraping w R

Zobacz kurs

Instrukcje do ćwiczenia

  • Wybierz odpowiednie divy za pomocą właściwego selektora XPATH, korzystając z funkcji count().

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# Select only divs with one header and at least two paragraphs
forecast_html %>%
	html_elements(xpath = '___')
Edytuj i uruchom kod