注意:このページでは、旧バージョンのチュートリアルを紹介しています。最新のチュートリアルを表示するには、helpcenterに移動してください。
複数のURLからデータを抽出する
2019年08月23日Webページの構造によって、複数のスクレイピング方法がたくさんあります。このチュートリアルでは、URLリストを使って複数のWebページからデータを抽出する方法を紹介します。
質問:URLリストを使うスクレイピングはいつなるのですか?
答え:同じ構造である複数のページからデータを取得したい場合です。例えば、Yelpからリスト情報をスクレイピングする時、ページの遷移は必要です。ここでは、ページ1、ページ2、ページ3などはすべて同じページ構造を共有しています。また、別の例として、サイトからニュース記事を読む場合、各記事ページは同じページ構造を共有する可能性も高いです。
複数のURLからデータを抽出するには、すべてのURLをループに入れて、その後データ抽出アクションを追加します。Octoparseは、URLを1つずつ読み込み、各ページからデータをスクレイピングします。
「URLリスト」ループを作ると、Octoparseは「次のページをクリックする」または「アイテムをクリックする」のような余計なステップを作って各ページに入る必要はありません。ですから、データ抽出が速くなります。「URLリスト」の使うタスクがクラウド内で行う場合、タスクは複数のサブタスクに分割され、いくつかのクラウドサーバ上で同時に実行されます。
「URLリスト」モードでは、Webページが連続であるかどうかは関係なく、同じページ構造がある限り、リストに追加できます。 Octoparseはリストの各URLからデータを抽出、ページを落とすことはありません。
ヒント! 1. ページ構造が異なるURLは使えますか? 残念ながら、データが一致して正しく抽出されるように、同じページ構造を共有するURLのみが「URLリスト」を使用できます。 「URLリスト」モードの詳細については、次の記事をご覧ください。
2. 一度に追加できるURLの数に制限はありますか? はい。一度に追加できるURLは20,000件です。ただし、URLの長さによって、制限が変更される可能性があります。
3. Octoparseは自動的にURLを収集して追加できますか? 残念ながら、URLを手動で収集してリストに追加する必要があります。Octoparseを使ってURLを抽出 |
URLリストを取得するには、抽出プロセスを3つのステップに分けます:
Octoparseで「URLリスト」ループの作るには2つの方法があります。
1) URLのリストで新しいタスクを作る
1. 「カスタマイズモード」を選択し、「+タスク」をクリックして新しいタスクを作ります。
2. テキストボックスにURLのリストを貼り付け、「URLを保存する」をクリックします。
「URLを保存する」をクリックすると、ワークフロー内に「ループアイテム」(リストの各URLをループする)が自動的に作成されました。
「ループアイテム」をクリックすると、入力したURLが「ループアイテム」に見えます。
Octoparseは、「Webサイト」に複数行のURLが追加されたとき、デフォルトで「URLリスト」ループモードに入ります。
3. 「実行前に」を設定します。
Octoparseが速すぎると、ページが完全にロードされないまま抽出ステップを行うことがあり、データが抽出されないや不完全になるかもしれません。これを避けるため、「実行前に」を設定できます。
「ループアイテム」をクリックし、「高級オプション」で、待ち時間を設定します(通常は2秒です)。
2) ワークフローデザイナで「URLリスト」ループを作る
1. ワークフローに「URLリスト」を作ります。
2. 「ループモード」に「URLリスト」を選択します。
3. をクリックし、URLのリストを入力/貼り付けます。「OK」をクリックして設定を保存します。
ワークフローで「Webページを開く」アクションが自動的に生成されます。「ループアイテム」をクリックすると、追加されているURLのリストが表示されます。
4.「実行前に」を設定します。
Octoparseは、データ抽出を始める前にリストの各URLを読み込みます。しかし、ページが完全に読み込まれない場合、データを抽出するときや、次のステップを行う際に問題が発生することもあります。抽出を開始する前、「実行前に」(2秒を推奨)を設定する必要があります。
「URLリスト」ループが作成されたので、Webページ上のデータを抽出できます。
関連記事: