1. 学ぶ
  2. /
  3. コース
  4. /
  5. Rで学ぶWebスクレイピング

Connected

演習

position() 関数を使いこなす

動画で見たように、position() 関数は述語内で使うととても強力です。演算子と組み合わせれば、特定のパスに一致するノードの中から、基本的に任意のノードを選択できます。

ここでは、rules_html から利用できる次の HTML 抜粋で試してみます。これは継続的に更新されるウェブサイトで、ある日付のコロナウイルス対策ルールと、その翌日のルールを表示していると仮定します。

...
<div>
  <h2>Today's rules</h2>
  <p>Wear a mask</p>
  <p>Wash your hands</p>
</div>
<div>
  <h2>Tomorrow's rules</h2>
  <p>Wear a mask</p>
  <p>Wash your hands</p>
  <small>Bring hand sanitizer with you</small>
</div>
...

指示1 / 3

undefined XP
  • 1
    • まずは、各 div 内の2番目の p のテキストを XPATH で抽出してください。
  • 2
    • 次に、各 div 内の「2番目を除く」すべての p のテキストを抽出してください。
  • 3
    • 2番目の div の「最後の3つの子要素」のテキストを抽出してください。
    • これらの子ノードを選ぶには、>= 演算子を使ってください。