Zacznij terazZacznij za darmo

Użyj predykatów do wybierania węzłów na podstawie ich elementów potomnych

Poniżej znajdziesz prawie taki sam kod HTML jak poprzednio. Różnica polega na tym, że trzeci element div ma element potomny p z klasą third.

<html>
  <body>
    <div id = 'first'>
      <h1 class = 'big'>Berlin Weather Station</h1>
      <p class = 'first'>Temperature: 20°C</p>
      <p class = 'second'>Humidity: 45%</p>
    </div>
    <div id = 'second'>...</div>
    <div id = 'third'>
      <p class = 'first'>Sunshine: 5hrs</p>
      <p class = 'second'>Precipitation: 0mm</p>
      <p class = 'third'>Snowfall: 0mm</p>
    </div>
  </body>
</html>

W XPATH można zrobić coś, czego nie umożliwiają selektory CSS: wybrać elementy na podstawie właściwości ich potomków. Służą do tego predykaty. Twoim celem jest wybranie wyłącznie elementów div, które zawierają element p z klasą third. W tym celu musisz wybrać tylko ten element div, który spełnia określony predykat — czyli posiada odpowiedniego potomka (niekoniecznie bezpośredniego). Zrobisz to krok po kroku.

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

To ćwiczenie jest częścią kursu

Web Scraping w R

Zobacz kurs

Interaktywne ćwiczenie praktyczne

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

# Select all divs
weather_html %>% 
  ___(xpath = ___)
Edytuj i uruchom kod