レッスン6:ページ遷移の扱い - 複数のページからデータを抽出する

Thursday, March 15, 2018 4:17 AM

これで、リストの内容を抽出する と 各アイテムページからデータを抽出する方法を学んだので、複数のページからデータを取得する準備が整いました。このレッスンでは、「次へ(Next)」ボタンをクリックしてページ遷移の扱いを追加し、使用可能なすべてのページから抽出する方法を紹介します。

 

 

例を挙げてその取得する手順を見てみましょう。

例のURL:https://www.yelp.com/search?find_desc=Takeout&find_loc=new+york%2C+NY%2C+United+States&ns=1

 

 

1) ページ遷移の扱い - リストの内容を抽出する[タスクファイルのダウンロードする ]

リストの内容を抽出する場合、リスト内の各アイテムをループするには、ワークフローに「Go To Web Page」ステップと「Loop Item」ステップが必要あります。

 

 

「Next」ボタンをクリックし、[Loop click next page]を選択してページ遷移のループを作成します。

 

ヒント!

ページ遷移ループを作成する前、ワークフローで「Loop Item」を選択してください。そうすると、「Loop Item」は「Pagination」ループの内に放置されます。

 

ページ遷移ループが作成されたら、正しいワークフローは以下のようになります。

 

 

2) ページ遷移の扱い - 各アイテムページからデータを抽出する[タスクファイルをダウンロードする ]

各アイテムページからデータを抽出するタスクを作成したら、ワークフローには、「Go To Web Page」ステップと「Loop Item」ステップがあります。そうすると、各アイテムがループクリックされ、アイテムページのデータを抽出できます。

 

リストページで「Next」ボタンをクリックします。選択した背景が水色になります。

(リストページではない場合は、ワークフローの「Go To Web Page」をクリックしてください。)

 

 

 

ページ遷移ループを作成するには:

      · 「Next」をクリックします。

      · 「Action tips」パネルで「Loop click next page」をクリックします。 ワークフローで「Click to paginate」ステップが自動的に生成されます。

 

      · 「Loop Item」を移動して、「Pagination」ループの内側にある「Click to paginate」の上に置きます。

 

ヒント!

1. Octoparseはどのような順番で各ステップを実行しますか?

Octoparseは各ステップを上から下に実行します。そして、複数の「Loop Item」の場合、「Loop Item」を裏から外に実行します。 例えば、このレッスンのタスクは、次の順番で実行されます。

 1) 「Go To Web Page」 ーー ウェブページを開く

 2) 「Click Item」 ーー 1番目のアイテムをクリックする

 3) 「Extract Data」 ーー 1番目のアイテムページのデータを抽出する

 4) 「Loop Item」 ーー 1番目のリストページの 「Click Item」と「Extract Data」をループする

 5) 「Click to paginate」 ーー 「Next」ボタンを1回クリックする

 6) 「Pagination」 ーー 「Click to paginate」をループする


「Click to paginate」に
2-4秒のAJAXタイムアウトを設定する

      · 「Click to paginate」ステップを選択する

      · 「Load the page with AJAX」を選択する

      · 「AJAX Timeout」に2-4秒を選択する

      · 「OK」をクリックして変更を保存する

(このアイテムにAJAX技術がない場合、AJAXタイムアウトを設定しないでください。)

 

ヒント!

いつAJAXタイムアウトを設定する必要がありますか?

あるWebサイトでは、AJAX技術を使うことがあります。特に、クリックする必要のある要素(「クリックしてメールを表示」、「次へ」など)には、AJAXタイムアウトを設定する必要があります。このレッソンでは、AJAXタイムアウトの設定は、「Click to paginate 」や「Click item 」などのステップにとって非常に必要です。実際にAJAXがあるかどうかを確認するのはかなり簡単です。クリックするだけでリロードせずにWebページを更新する場合は、AJAX技術を使わなければなりません。(通常、Webページの更新は、またはのようなリロード記号が表示されます)

 

 

 

 

 

 レッスン7:タスクの実行を行う

 

btn_sidebar_use.png