Bắt đầu ngayBắt đầu miễn phí

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

Xem khóa học

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 = ___)
Chỉnh sửa và Chạy Mã