1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Web Scraping bằng R

Connected

Bài tập

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.

Hướng dẫn 1/3

undefined XP
    1
    2
    3
  • Dùng XPATH để chọn tất cả phần tử div.