XPATH'e Giriş

R ile Web Kazıma

Timo Grossenbacher

Instructor

XML Yol Dili

  • HTML ağacında bir yol tanımlanır, örn. //div/p[@class = "blue"] (eşdeğeri div > p.blue)
  • Diğer düğümlerin özelliklerine göre düğüm seçimi
  • Daha gelişmiş ve özelleştirilmiş seçimler mümkün
  • Örn.: Çocuklarının özelliklerine göre seçin; sadece a düğümü special sınıfı içeren div öğelerini seçin
R ile Web Kazıma

Tüm p öğelerinin seçildiği basit bir HTML ağacı

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 ile Web Kazıma

Sadece div altındaki p öğelerinin seçildiği basit bir HTML ağacı

html %>%
    html_elements(xpath = '//div/p')
# CSS selector equivalent: div > p
R ile Web Kazıma

Yalnızca içinde a bulunan div'lerin seçildiği basit bir HTML ağacı

html %>%
    html_elements(xpath = '//div[a]')
# CSS selector equivalent: none
R ile Web Kazıma

Sözdizimi: eksenler, adımlar, yüklemler

  • Eksenler: / veya //
  • Adımlar: span, a gibi HTML türleri
  • Yüklemler: [...]
  • Örnek: //span/a[@class = "external"] (CSS: span > a.external)
  • Örnek: //*[@id = "special"]//div (CSS: #special div veya *#special div)
R ile Web Kazıma

Haydi pratik yapalım!

R ile Web Kazıma

Preparing Video For Download...