目標:
Octoparseでスクレイピングタスクを構築する際、ほとんどの場合、プロセスの中でLoopアイテムを使用することになるでしょう。Loopアイテムは、要素のリストをキャプチャするためや、ウェブサイトの異なるページをページネーションするために最もよく使用されます。この記事では、LoopアイテムがOctoparseでどのように機能するかを詳しく説明します。
1. ループアイテムとは何か
ループは、ある条件が満たされるまで、指示を継続的に繰り返すプログラミング関数です。Octoparseのループアイテムは、ループに似たものです。ループアイテムは通常、複数のURL/要素を使用して作成され、ループアイテムにはアクションが追加されます。ループアイテムが作成されると、Octoparseは指定された回数(X回)またはアクションを繰り返す方法がなくなるまで、ループされたアクションを繰り返します。たとえば、最後のページに到達したときなど、もう次のページをめくる方法がない場合にループが終了します。
以下に例を見てみましょう。データを抽出するためのURLリストがあるとしましょう。まず、URLリストを使用してループアイテムを作成し、次にループアイテム内に「ウェブページを開く」アクションと「データを抽出」アクションを挿入します。ワークフローは以下のようになります:
このワークフローは、Octoparseに最初のURLを取り、Go to Web Pageアクションでページを読み込み、次に「データを抽出」アクションでデータをスクレイピングする一連の指示です。同じ一連のアクションは、リスト内のすべてのURLに対して繰り返され、最後のURLが取得されるとループが停止します。
2. ループアイテムの設定
ループアイテムをクリックし、基本設定を選択すると、設定パネルに移動します。利用可能なオプションを見てみましょう。
ステップ名
ここでは、特定のループアイテムの名前を変更できます。複数の「ループアイテム」がワークフロー内にある場合、それぞれに固有の名前を付けることで、整理がしやすくなります。
ループモード
「ループアイテム」が正しく機能するためには、正しいループモードが選択されていることが重要です。6つのループモードがあり、それぞれの説明は以下のセクションで詳しく説明されています。
ループの終了
ループを自動的に終了させるだけでなく、ループされたアクションを何回繰り返すかを指定することで、ループを事前に終了させることもできます。
実行前に待機
実行前の待機:ループアイテムを実行するまでの待機時間を設定できます。
3. 6つのループモードとその使い方
以下に6つのループモードがあります:単一要素、定数リスト、変数リスト、URLリスト、テキストリスト、ページをスクロール。
「単一要素」は、ページ上の特定の要素を見つけるために使用されます。Octoparseは、同じ要素に対して繰り返しアクションを実行し、要素がページ上で見つからなくなるまで繰り返します。単一要素の一般的な使用例は、「次のページ」ボタンを繰り返しクリックして、最後のページ(「次へ」がもう表示されないページ)に到達する場合です。
「変数リスト」は、1つのXPathクエリと一致するリストのアイテムを見つけるために使用されます。Octoparseは、要素を1つずつ一致させるためにループアクションを実行し、最後の要素に到達します。変数リストは、異なるページ間でループする要素の数が一定でない場合に使用する必要があります。
「定数リスト」も変数リストと同様に、リストのアイテムを見つけるために使用されますが、固定リストは一意の要素をページ上で見つけるためのXPathクエリのリストです。ページ上の要素数がすべてのページで一定の場合に使用されます。
「URLリスト」URLのリストをループ処理するために使用され、その場合、Octoparseは1つずつURLを開きます。URLを入力する方法は3つあります。URLを入力する異なる方法については、こちらをご覧ください。
詳細記事:URLの一括インポート
「テキストリスト」は、テキスト文字列のリストです。テキストリストが使用されると、Octoparseはページ上の文字列を1つずつ入力します。
詳細記事:テキストを入力
「ページをスクロール」は、新しいスクロール方法です。このモードは、コンテンツを表示するために無限スクロールを使用するウェブサイトに特に設計されています。このオプションは、スクロールが終了した後ではなく、スクロール中にデータをスクレイピングするのに役立ちます。
詳細記事:無限スクロールでの読み込み
4. ループアイテムの作成方法
必要なループアイテムのタイプは、取得しようとしているデータと特定のウェブページの構造によって異なります。以下のチュートリアルをご覧いただき、さまざまなユースケースに対応したループアイテムを作成する方法を確認してください。
5.「ループアイテム」のトラブルシューティング
ループアイテムに関連するさまざまな問題があります。例えば、要素が欠落している、ページがスキップされるなどです。以下に、ループアイテムに関するよくある問題をリストアップします。