Verwende Prädikate, um Knoten anhand ihrer Kindknoten auszuwählen
Hier ist fast dasselbe HTML wie zuvor. Zusätzlich hat das dritte div ein p-Kind mit der 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>
Mit XPATH ist etwas möglich, das mit CSS nicht geht: Elemente anhand der Eigenschaften ihrer Nachfahren auszuwählen. Dafür können Prädikate verwendet werden. Dein Ziel ist es hier, nur die div-Elemente auszuwählen, die ein p-Element mit der Klasse third einschließen. Dafür musst du nur das div auswählen, das einem bestimmten Prädikat entspricht — nämlich dem, einen entsprechenden Nachfahren zu haben (es muss kein direktes Kind sein). Du gehst dabei Schritt für Schritt vor.
Das obige HTML ist wieder als weather_html verfügbar.
Diese Übung ist Teil des Kurses
Web Scraping in R
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Select all divs
weather_html %>%
___(xpath = ___)