Extraire des nœuds selon le nombre de leurs enfants
Comme montré dans la vidéo, la fonction XPATH count() peut être utilisée dans un prédicat pour restreindre une sélection aux nœuds qui correspondent à un certain nombre d'enfants. C'est particulièrement utile si votre robot d'extraction dépend du fait que certains nœuds aient un nombre minimal d'enfants.
Voici un extrait d'une page (sans aucune classe ni ID…) que vous pourriez vouloir récupérer :
...
<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>
...
Vous ne vous intéressez qu'aux div qui ont exactement un en-tête h2 et au moins deux paragraphes, car votre application gère mal les prévisions météo incomplètes.
Le code HTML ci-dessus vous est fourni dans forecast_html.
Cette activité fait partie du cours
Extraction de données Web en R
Instructions de l’exercice
- Sélectionnez les
divvoulus avec le sélecteur XPATH approprié en utilisant la fonctioncount().
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Select only divs with one header and at least two paragraphs
forecast_html %>%
html_elements(xpath = '___')