ComeçarComece de graça

Extraia nós com base na quantidade de filhos

Como mostrado no vídeo, a função XPATH count() pode ser usada dentro de um predicado para restringir a seleção aos nós que correspondem a uma certa contagem de filhos. Isso é especialmente útil se o seu scraper depender de alguns nós terem uma quantidade mínima de filhos.

Aqui está um trecho de uma página (sem nenhuma classe ou ID…) que você pode estar raspando:

...
<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>
...

Você está interessado apenas nos divs que têm exatamente um cabeçalho h2 e pelo menos dois parágrafos, porque seu aplicativo não lida bem com previsões do tempo incompletas.

O HTML acima está disponível para você em forecast_html.

Este exercício faz parte do curso

Web Scraping em R

Ver curso

Instruções do exercício

  • Selecione os divs desejados com o seletor XPATH apropriado, usando a função count().

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# Select only divs with one header and at least two paragraphs
forecast_html %>%
	html_elements(xpath = '___')
Editar e executar o código