目標:
Octoparseでスクレイピングタスクを構築する際、ほとんどの場合、プロセスの中でループアイテムを使用することになるでしょう。ループアイテムは、要素のリストをキャプチャするためや、ウェブサイトの異なるページをページネーションするために最もよく使用されます。この記事では、Octoparseでループアイテムがどのように機能するかを詳しく説明します。
1. ループアイテムとは何か
ループは、ある条件が満たされるまで指示を継続的に繰り返すプログラミング関数です。Octoparseのループアイテムもこれに似たものです。ループアイテムは通常、複数のURLや要素を使用して作成され、アクションを追加することができます。ループアイテムが作成されると、Octoparseは指定された回数(○回)または実行するアクションがなくなるまで、指定されたアクションを繰り返します。たとえば、最後のページに到達し、もう次のページがない場合にループが終了します。
以下に例を示します。データを抽出するための「URLリスト」があるとしましょう。まず、「URLリスト」を使用してループアイテムを作成し、次にループアイテム内に「ウェブページを開く」アクションと「データを収集」アクションを挿入します。ワークフローは以下のようになります:
このワークフローでは、Octoparseは最初のURLを取得し、「Webページを開く」アクションでページを読み込み、次に「データを収集」アクションでデータをスクレイピングします。同じ一連のアクションがリスト内のすべての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.「ループアイテム」のトラブルシューティング
ループアイテムに関連するさまざまな問題があります。例えば、要素が欠落している、ページがスキップされるなどです。以下に、ループアイテムに関するよくある問題をリストアップします。