1. 学ぶ
  2. /
  3. コース
  4. /
  5. R로 배우는 웹 스크레이핑

Connected

演習

자식 노드 수에 따라 노드 추출하기

영상에서 보신 것처럼, XPATH의 count() 함수는 조건자(predicate) 안에서 사용해 특정 자식 노드 수를 만족하는 노드만 선택 범위로 좁힐 수 있어요. 특히 스크레이퍼가 어떤 노드에 최소한의 자식 노드가 있다고 가정할 때 유용합니다.

다음은 여러분이 스크레이핑할 수도 있는 페이지의 일부 발췌본입니다(클래스나 ID 없음):

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

여러분은 정확히 하나의 h2 헤더가 있고, 문단(p)이 최소 두 개 이상인 div에만 관심이 있어요. 애플리케이션이 불완전한 일기 예보는 제대로 처리하지 못하기 때문입니다.

위 HTML은 forecast_html로 제공됩니다.

指示

100 XP
  • count() 함수를 사용해 적절한 XPATH 선택자로 원하는 div만 선택하세요.