Aan de slagBegin gratis

Gebruik predicaten om knooppunten te selecteren op basis van hun kinderen

Hier is bijna dezelfde HTML als eerder. Daarnaast heeft de derde div een p-kind met de klasse 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>

Met XPATH kan iets wat met CSS niet kan: elementen selecteren op basis van de eigenschappen van hun afstammelingen. Daarvoor kun je predicaten gebruiken. Je uiteindelijke doel is hier om alleen div-elementen te selecteren die een p-element met de klasse third bevatten. Daarvoor moet je alleen de div selecteren die voldoet aan een bepaald predicaat — het hebben van de betreffende afstammeling (het hoeft geen direct kind te zijn). Dat doe je stap voor stap.

Opnieuw is de bovenstaande HTML beschikbaar als weather_html.

Deze oefening maakt deel uit van de cursus

Webscraping in R

Bekijk cursus

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

# Select all divs
weather_html %>% 
  ___(xpath = ___)
Code bewerken en uitvoeren