Giới thiệu về XPATH

Web Scraping bằng R

Timo Grossenbacher

Instructor

Ngôn ngữ đường dẫn XML

  • Đường dẫn qua cây HTML, ví dụ: //div/p[@class = "blue"] (tương đương div > p.blue)
  • Chọn nút theo thuộc tính của nút khác
  • Hỗ trợ chọn nâng cao và tùy biến
  • Ví dụ: chọn phần tử theo thuộc tính của con; chỉ chọn div chứa nút a có lớp special
Web Scraping bằng R

Cây HTML đơn giản nơi tất cả phần tử p được chọn

html %>%
    html_elements(xpath = '//p')
# CSS selector equivalent: p
html %>%
    html_elements(xpath = '//body//p')
# CSS selector equivalent: body p
html %>%
    html_elements(xpath = '/html/body//p')
# CSS selector equivalent: html > body p
Web Scraping bằng R

Cây HTML đơn giản nơi chỉ chọn p bên dưới div

html %>%
    html_elements(xpath = '//div/p')
# CSS selector equivalent: div > p
Web Scraping bằng R

Cây HTML đơn giản nơi chỉ chọn div có phần tử con a

html %>%
    html_elements(xpath = '//div[a]')
# CSS selector equivalent: none
Web Scraping bằng R

Cú pháp: trục, bước, và vị ngữ

  • Trục: / hoặc //
  • Bước: kiểu HTML như span, a
  • Vị ngữ: [...]
  • Ví dụ: //span/a[@class = "external"] (CSS: span > a.external)
  • Ví dụ: //*[@id = "special"]//div (CSS: #special div hoặc *#special div)
Web Scraping bằng R

Ayo berlatih!

Web Scraping bằng R

Preparing Video For Download...