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
Instrucțiuni pentru exercițiu
- Selectează elementele
divdorite folosind selectorul XPATH potrivit, utilizând funcțiacount().
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 = '___')