すべてのページが同じではないので、 Webページに変化が出た場合、条件分岐を使ってスクレイピングします。
以下は処理手順です:
質問:条件分岐をいつ使うべきですか?
答え:条件分岐には、主な状況が2つあります。
1) 「New」、「人気商品」、「セール中」など、特定のタグを持つページからのデータを取得する場合
2) ページ上のデータが異なる形で表示されている場合
下の画像では、セール中のパソコンに関する情報が必要です。商品の詳細ページを見ると、セールアイコン
を判断条件としてテストできます:商品ページに要素
がある場合は、商品情報を取得します。 そうでなければ、スキップします。

その手順を見てみましょう!
2) 分岐判断を使って
がページに存在するかどうかをテストします。
- 右上にある
ボタンを使ってワークフローモードに切り替えます。
- 分岐判断アクション
をループの内に追加します。

- 左側のブランチをクリックし、「次の場合に分岐判断を実行する:現在のページに要素が含まれている場合」を選択します。
- 「要素のXpath」(XPathの検索方法
)のテキストボックスにXPath要素:.//div[@class="pricing-price__savings"]を入力します。
- 「保存する」をクリックします。
- 右側のブランチをクリックし、「判断しません。常に分岐を実行する」を選択します。
- 「保存する」をクリックします。
ヒント!
Octoparseでは、次の条件に設定できます。
- 判断しません。常に分岐を実行する - このオプションを選択すると、Octoparseは何も判断せず、すぐにブランチ内のアクションを実行します。このオプションは、右側のブランチのみに選択してください。
- 現在のページにテキストが含まれている場合 - このオプション選択すると、Octoparseは現在のページに指定テキストを探します。
- 現在のページに要素が含まれている場合 - このオプション選択すると、Octoparseは現在のページに指定要素(入力したXPathに従って)を探します。
- ループアイテムにテキストを含む - このオプション選択すると、Octoparseは現在のループアイテムに指定テキストを探します。
- ループアイテムに要素を含む- このオプション選択すると、Octoparseは現在のループアイテムに指定要素(入力したXPathに従って)を探します。
|
3) 商品の詳細ページ(要素
があるループから1つを選択)で、取得したいデータフィールドをクリックします。必要に応じてフィールドの名前を変更します。

4) 「テキストを抽出する」アクションを左のブランチに追加します。

これで、ページ上の要素
を探すように設定しました。要素があれば、データをスクレイピングし、それ以外はスキップします。

ヒント!
- 「要素がページに存在するかどうか」を条件として設定すれば、指定要素がページに唯一でなければなりません。そうでなければ、判断が無効になるかもしれません。
- Octoparseはデフォルトで左から右に判断します。テストしたい条件を左側のブランチ内に入れることが重要です。左のブランチの条件が「判断しません。」場合、Octoparseは右のブランチに進まず、「判断しません。」は常に「True」と判断されます。
- 条件が満たされていないときに抽出アクションが必要ない場合は、ブランチを空白にすることができます。
- データ抽出アクションが両方のブランチに追加されているときは、データフィールドの数と名前を同じにしてください。
- 繰り込み分岐判定を使って、テストをさらに洗練させられます。
|