複数のURLからデータを抽出する

Sunday, April 08, 2018 10:33 AM

Webページの構造によって、複数のスクレイピング方法がたくさんあります。このチュートリアルでは、URLリストを使って複数のWebページからデータを抽出する方法を紹介します。

質問:URLリストを使うスクレイピングはいつなるのですか?

答え:同じ構造である複数のページからデータを取得したい場合です。例えば、Yelpからリスト情報をスクレイピングする時、ページの遷移は必要です。ここでは、ページ1、ページ2、ページ3などはすべて同じページ構造を共有しています。また、別の例として、サイトからニュース記事を読む場合、各記事ページは同じページ構造を共有する可能性も高いです。

web scraping with octoparse - demo webpage

web scraping with octoparse - demo webpage 2

 

 

複数のURLからデータを抽出するには、すべてのURLをループに入れて、その後データ抽出アクションを追加します。Octoparseは、URLを1つずつ読み込み、各ページからデータをスクレイピングします。

「URLリスト」ループを作ると、Octoparseは「次のページをクリックする」または「アイテムをクリックする」のような余計なステップを作って各ページに入る必要はありません。ですから、データ抽出が速くなります。「URLリスト」の使うタスクがクラウド内で行う場合、タスクは複数のサブタスクに分割され、いくつかのクラウドサーバ上で同時に実行されます。

「URLリスト」モードでは、Webページが連続であるかどうかは関係なく、同じページ構造がある限り、リストに追加できます。 Octoparseはリストの各URLからデータを抽出、ページを落とすことはありません。

ヒント!

1. ページ構造が異なるURLは使えますか?

残念ながら、データが一致して正しく抽出されるように、同じページ構造を共有するURLのみが「URLリスト」を使用できます。

「URLリスト」モードの詳細については、次の記事をご覧ください。

Octoparseにある5つのループモード

 

スクレイピング作業にはどのループモードが良いでしょうか?

 

2. 一度に追加できるURLの数に制限はありますか?

はい。一度に追加できるURLは20,000件です。ただし、URLの長さによって、制限が変更される可能性があります。

 

3. Octoparseは自動的にURLを収集して追加できますか?

 残念ながら、URLを手動で収集してリストに追加する必要があります。Octoparseを使ってURLを抽出 した後「URLリスト」に追加できます。Octoparse Advanced APIを使うと、アプリケーションにアクセスしなくてもURLリストを変更できます。

 

URLリストを取得するには、抽出プロセスを3つのステップに分けます:

 

Octoparseで「URLリスト」ループの作るには2つの方法があります。

1) URLのリストで新しいタスクを作る

2) ワークフローデザイナで「URLリスト」ループを作る

 

 

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ページ上のデータを抽出できます。

 

 

 

関連記事:

テキスト/URL/画像/HTMLを抽出する

複数のページからデータを抽出する

リストを使ってデータを抽出する

待ち時間を設定する

Advanced API

 

btn_sidebar_use.png
btn_sidebar_form.png