Aan de slagGa gratis aan de slag

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

Cursus bekijken

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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