近くの2箇所のデータを関連付ける方法
フォローするOctoparseはXPathでデータを指定しますが、各ページにデータの位置は異なるかもしれません。 このチュートリアルでは、近くの2箇所のデータを関連付けることによって、データをより正しく抽出する方法を紹介します。
まず、次の例を見てみましょう。
上記の画像例では、その値は横にあります。同様に、「Item Weight」の値も横に表示されます。リストに残るデータも同じパターンを適用します。
ですから、要素の関連値を取得するには、その要素の位置を探し、次に要素の横にあるデータをさがします。この例では、ページ上で「13.4 x 0.3 x 13.4 inches」を直接検索するのではなく、「Product Dimensions」のテキストに関連付けると、より正しく取得できます。
具体的な操作は以下の手順に従ってください:
1) 「13.4 x 0.3 x 13.4 inches」をクリックして、「Product Dimensions」の値を取得します。抽出したら、データフィールドを選択し、アイコンをクリックしてフィールドをカスタマイズします。
2) 「Xpathをカスタマイズする」をクリックします。
3) 対象データフィールドのテキストに関連する相対パスのXPathを検索する
- Firefoxでページを開き、FirePathで対象データフィールドを調べます。「Product Dimensions」のテキストは<th>タグ内にあり、その関連値は下の<td>タグ内にあります。
- ページ構造を確認したら、相対パスのXPathを書いて、「Product Dimensions」の関連値を調べることができます:
.//th[contains(text(), 'Product Dimensions')]/following-sibling::td[1]
このXPath式は、「Product Dimensions」のテキストを含む<th>タグを検索し、そのすぐ下にある一番目の<td>タグを見つけるように指示しています。そして、「Product Dimensions」の関連値を取得できます。
- 新しいXPathを「絶対Xpath」のテキストボックスに入力し、「OK」をクリックして設定を保存します。
このように、Octoparseは「Product Dimensions」がWebページに表示されている場所に応じて、「Product Dimensions」の関連値を探します。この方法をリストの同じフィールドに適用すると、要素の見つからない例が発生する可能性は減られます。
ヒント!
|
関連記事:
From: https://www.octoparse.jp/tutorial/associate-data-with-nearby-text/