Folosește predicate pentru a selecta noduri pe baza elementelor copil
Iată aproape același HTML ca înainte. În plus, al treilea div are un element copil p cu clasa 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>
Cu XPATH poți face ceva ce nu este posibil cu CSS: selectarea elementelor pe baza proprietăților descendenților lor. În acest scop se folosesc predicatele. Scopul final aici este să selectezi doar elementele div care conțin un element p cu clasa third. Pentru asta, trebuie să selectezi doar div-ul care îndeplinește un anumit predicat — și anume că are respectivul descendent (nu trebuie să fie neapărat un copil direct). Vei face asta pas cu pas.
HTML-ul de mai sus îți este furnizat ca weather_html.
Acest exercițiu face parte din cursul
Web Scraping în R
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Select all divs
weather_html %>%
___(xpath = ___)