XPATH 소개

R로 배우는 웹 스크레이핑

Timo Grossenbacher

Instructor

XML Path Language

  • HTML 트리 경로를 작성, 예: //div/p[@class = "blue"] (동일: div > p.blue)
  • 다른 노드의 속성으로 노드 선택
  • 더 고급·맞춤 선택 가능
  • 예: 자식 속성으로 선택. aspecial 클래스를 가진 자식을 포함한 div만 선택
R로 배우는 웹 스크레이핑

모든 p 요소가 선택된 간단한 HTML 트리

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
R로 배우는 웹 스크레이핑

div 아래의 p 요소만 선택된 간단한 HTML 트리

html %>%
    html_elements(xpath = '//div/p')
# CSS selector equivalent: div > p
R로 배우는 웹 스크레이핑

자식으로 a를 가진 div만 선택된 간단한 HTML 트리

html %>%
    html_elements(xpath = '//div[a]')
# CSS selector equivalent: none
R로 배우는 웹 스크레이핑

구문: 축, 단계, 술어

  • 축: / 또는 //
  • 단계: span, a 같은 HTML 타입
  • 술어: [...]
  • 예: //span/a[@class = "external"] (CSS: span > a.external)
  • 예: //*[@id = "special"]//div (CSS: #special div 또는 *#special div)
R로 배우는 웹 스크레이핑

연습해 봅시다!

R로 배우는 웹 스크레이핑

Preparing Video For Download...