Dùng predicate để chọn node dựa trên con của chúng
Đây gần như là cùng một HTML như trước. Ngoài ra, div thứ ba có một thẻ p con với class 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>
Với XPATH, bạn có thể làm điều mà CSS không làm được: chọn phần tử dựa trên thuộc tính của các hậu duệ của nó. Để làm vậy, bạn có thể dùng predicate. Ở đây, mục tiêu cuối cùng là chỉ chọn các phần tử div bao chứa một phần tử p có class third. Vì thế, bạn sẽ cần chỉ chọn những div thỏa một predicate nhất định — có hậu duệ tương ứng (không nhất thiết phải là con trực tiếp). Bạn sẽ thực hiện từng bước.
Một lần nữa, HTML ở trên được cung cấp dưới dạng weather_html.
Bài tập này là một phần của khóa học
Web Scraping bằng R
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Select all divs
weather_html %>%
___(xpath = ___)