1. Nauka
  2. /
  3. Kursy
  4. /
  5. Web Scraping w R

Connected

ćwiczenie

Użyj predykatów do wybierania węzłów na podstawie ich elementów potomnych

Poniżej znajdziesz prawie taki sam kod HTML jak poprzednio. Różnica polega na tym, że trzeci element div ma element potomny p z klasą third.

<html>
  <body>
    <div id = 'first'>
      <h1 class = 'big'>Berlin Weather Station</h1>
      <p class = 'first'>Temperature: 20°C</p>
      <p class = 'second'>Humidity: 45%</p>
    </div>
    <div id = 'second'>...</div>
    <div id = 'third'>
      <p class = 'first'>Sunshine: 5hrs</p>
      <p class = 'second'>Precipitation: 0mm</p>
      <p class = 'third'>Snowfall: 0mm</p>
    </div>
  </body>
</html>

W XPATH można zrobić coś, czego nie umożliwiają selektory CSS: wybrać elementy na podstawie właściwości ich potomków. Służą do tego predykaty. Twoim celem jest wybranie wyłącznie elementów div, które zawierają element p z klasą third. W tym celu musisz wybrać tylko ten element div, który spełnia określony predykat — czyli posiada odpowiedniego potomka (niekoniecznie bezpośredniego). Zrobisz to krok po kroku.

Powyższy kod HTML jest dostępny jako weather_html.

Instrukcje 1/3

undefined XP
    1
    2
    3
  • Używając XPATH, wybierz wszystkie elementy div.