1. เรียนรู้
  2. /
  3. Courses
  4. /
  5. Rで学ぶWebスクレイピング

Connected

Exercises

子要素の数に基づいてノードを抽出する

動画で説明したように、XPATH の count() 関数はプレディケート内で使うことで、子要素の数が条件に合うノードだけに絞り込めます。これは、スクレイパーが「子要素が最低限いくつあるか」に依存している場合に特に役立ちます。

次は、(クラスや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 ヘッダーがちょうど 1 つあり、かつ段落が少なくとも 2 つある div のみを対象にします。未完の天気予報はアプリケーションで正しく扱えないためです。

上記の HTML は forecast_html から利用できます。

คำแนะนำ

100 XP
  • count() 関数を活用して、目的の div を適切な XPATH セレクタで選択してください。