Úvod do XPATH

Web Scraping v R

Timo Grossenbacher

Instructor

Jazyk XML Path

  • Cesta stromem HTML, např. //div/p[@class = "blue"] (odpovídá div > p.blue)
  • Výběr uzlů podle vlastností jiných uzlů
  • Možnost pokročilejších a přizpůsobených výběrů
  • Například: výběr prvků podle vlastností jejich potomků, např. pouze prvky div obsahující uzly a se třídou special
Web Scraping v R

Jednoduchý strom HTML, kde jsou vybrány všechny prvky p

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

Jednoduchý strom HTML, kde jsou vybrány pouze prvky p pod prvky div

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

Jednoduchý strom HTML, kde jsou vybrány pouze prvky div s potomky a

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

Syntaxe: osy, kroky a predikáty

  • Osy: / nebo //
  • Kroky: typy HTML jako span a a
  • Predikáty: [...]
  • Příklad: //span/a[@class = "external"] (CSS: span > a.external)
  • Příklad: //*[@id = "special"]//div (CSS: #special div nebo *#special div)
Web Scraping v R

Pojďme cvičit!

Web Scraping v R

Preparing Video For Download...