複数のバリエーション商品情報を抽出する
フォローする商品情報を見ていると、個々の商品の写真の枚数が一定でないことがよくあります。 この場合、画像をもとにOctoparseが自動的に抽出数を決定するにはどうしたらよいでしょうか。
例URL
https://www.yodobashi.com/product/100000001007379536/
https://www.yodobashi.com/product/100000001003769817/
https://www.yodobashi.com/product/100000001005598815/
この問題を解決する鍵は、変数xpathをループの項目として使用することにあります。(まだxpath知識をマスターしていない方は、まずこの記事を読んでください)
手順:
1-2 カスタムタスクを新規作成し、URLの一括インポートする
3-4 ループアイテムを追加します
5 ループモードを変数リストに変更する
次に、画像を表す正しいxpathを見つけるために、パソコンでブラウザを開き、ブラウザに付属する検証ツールを使います(写真ではChromeですが、検証ツールの表記はブラウザによって若干異なります)。
6-7 ブラウザーを開き、抽出したい画像の上にマウスを移動し、右クリックでブラウザーメニューを表示します。「検証」を選択します。
検証ツールを開くと、画像の近くにあるソースコードに自動的にジャンプするようになっています。
8 左上の検査ツールをクリックし、残りの画像のソースコードの配布位置を確認します。
ソースコードを分析すると、3つの画像はそれぞれliタグでラップされており、サイトでは3種類のサイズの画像(80*80、largeUrl、smallImageUrl)が提供されていることが分かります。
次に、画像の共通属性であるlargeUrlを用いてXpathを作成します。
//input[@class='largeUrl']
正しいxpathを記述できたかどうかわからない場合は、Ctrl+Fでソースコードを確認することができます。
検索結果の数と画像の数が一致すれば、このxpathは有効であり、すべての画像を対象とするのに役立ちます。
9-10 クライアントに戻り、ループアイテムの設定にxpathを保存します。
保存後、ページを再度開いて(または別のURLに切り替えて)、正しい数のアイテムが検出されたことを確認することができます。
11 問題がなければ、次に抽出ステップを作成します。
12 実際のソースコードに応じて、抽出するデータの種類を選択します(例のWebサイトでは、画像のURLがvalueなので、それに対応して、クライアントでもvalue値を選択します。)
適用後
13 これで、別のURLに切り替えて、画像の枚数がプレビューデータと一致するかどうかを確認することができます。 一致しない場合は、xpathが完全にカバーされていないか、サイトが特殊な構造になっていることを意味しますので、メールで解決策をお聞きすることができます。
画像だけでなく、商品のサイズ、在庫などの情報も抽出する必要がある場合、ワークフローは次のようになります。