ÎncepețiÎncepe gratuit

Extrage noduri în funcție de numărul de copii ai acestora

Așa cum s-a arătat în video, funcția XPATH count() poate fi folosită într-un predicat pentru a restrânge selecția la nodurile care corespund unui anumit număr de copii. Acest lucru este deosebit de util atunci când scraperul tău depinde de existența unui număr minim de copii în anumite noduri.

Iată un fragment dintr-o pagină (fără clase sau ID-uri…) pe care ai putea-o scrapui:

...
<div>
  <h1>Tomorrow</h1>
</div>
<div>
  <h2>Berlin</h2>
  <p>Temperature: 20°C</p>
  <p>Humidity: 50%</p>
</div>
<div>
  <h2>London</h2>
  <p>Temperature: 15°C</p>
</div>
<div>
  <h2>Zurich</h2>
  <p>Temperature: 22°C</p>
  <p>Humidity: 60%</p>
</div>
...

Ești interesat doar de elementele div care au exact un header h2 și cel puțin două paragrafe, deoarece aplicația ta nu poate gestiona prognoze meteo incomplete.

HTML-ul de mai sus îți este disponibil prin variabila forecast_html.

Acest exercițiu face parte din cursul

Web Scraping în R

Vezi cursul

Instrucțiuni pentru exercițiu

  • Selectează elementele div dorite folosind selectorul XPATH potrivit, utilizând funcția count().

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# Select only divs with one header and at least two paragraphs
forecast_html %>%
	html_elements(xpath = '___')
Editează și rulează codul