テーブルで隣のセルのデータを抽出する方法
フォローするこのチュートリアルでは、テーブルで隣のセルについて、データを正しく抽出する方法を紹介します。まず、次の例を見てみましょう。
上記の画像例では、その値は隣にあります。同様に、「営業時間」の値も隣に表示されます。他のデータも同じパターンを適用します。
したがって、隣のセルを取得するには、その要素の位置を探し、次に要素の横にあるデータをさがします。この例では、ページ上で「営業時間」の詳細内容を直接指定するのではなく、「営業時間・定休日」の隣のセルを指定すると、より正しく取得できます。
具体的な操作は以下の手順に従ってください:
1) 「営業時間」の詳細内容をクリックして、「営業時間」のデータフィールドを作ります。
2) 抽出したら、ステップ「データを抽出」の設定画面を開いて、をクリックして、データフィールドのxPathを指定することができます。
3) 対象データフィールドのテキストに関連する相対パスのXPathを検索する
- Firefoxでページを開き、FirePathで対象データフィールドを調べます。「営業時間」のテキストは<th>タグ内にあり、その関連値は下の<td>タグ内にあります。
- ページ構造を確認したら、相対パスのXPathを書いて、「Product Dimensions」の関連値を調べることができます:
//th[contains(text(),'営業時間')]/following-sibling::td
このXPath式は、「営業時間」のテキストを含む<th>タグを検索し、そのすぐ下にある一番目の<td>タグを見つけるように指示しています。そして、「営業時間」の関連値を取得できます。
- 新しいXPathを「要素のXpath」のテキストボックスに入力し、「保存」をクリックして設定を保存します。
このように、Octoparseは「営業時間」がWebページに表示されている場所に応じて、「営業時間」の隣のセルを探します。この方法をリストの同じフィールドに適用すると、要素の見つからない・位置が不一致の状況が発生する可能性は減られます。
ヒント!
|
関連記事:
XPath基礎編(1) ー XPathの基本概念
XPath基礎編(2) ー XPathの書き方
XPath基礎編(3) ー XPathによく使う関数
From: https://www.octoparse.jp/tutorial/associate-data-with-nearby-text/