Introdução ao XPATH

Web Scraping em R

Timo Grossenbacher

Instructor

XML Path Language

  • Um caminho em uma árvore HTML é formulado, por exemplo, //div/p[@class = "blue"] (equivalente a div > p.blue)
  • Selecione nós com base nas propriedades de outros nós
  • Dá para fazer seleções mais avançadas e personalizadas
  • Exemplo: selecionar elementos pelas propriedades dos filhos, como apenas div que contenham nós a com classe special
Web Scraping em R

Uma árvore HTML simples em que todos os elementos p são selecionados

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 em R

Uma árvore HTML simples em que apenas elementos p abaixo de divs são selecionados

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

Uma árvore HTML simples em que apenas divs com filhos a são selecionados

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

Sintaxe: eixos, passos e predicados

  • Eixos: / ou //
  • Passos: tipos HTML como span e a
  • Predicados: [...]
  • Exemplo: //span/a[@class = "external"] (CSS: span > a.external)
  • Exemplo: //*[@id = "special"]//div (CSS: #special div ou *#special div)
Web Scraping em R

Vamos praticar!

Web Scraping em R

Preparing Video For Download...