無限スクロールでの読み込み
フォローする従来のページネーションを使わなくコンテンツをロードするWebサイトがよく見られます。そのようなサイトは二つの状況があります。
ご参考頂けるために、文字の他に、ビデオも作っております。こちら
へクリックしてください。

1) 延々とスクロールして、コンテンツを継続的にロードする
2) 「load more」ボタンをクリックし続け、コンテンツをロードする
このチュートリアルではOctoparseでこれらの2つの状況を処理し、すべてのデータを抽出する方法を説明します。
1) 無限スクロール
無限スクロールは、JavaScriptまたはAJAXをWebサイトでよく使われる技術です。同一ページ内でスクロールダウンするたびに次々とコンテンツを読むことができ、FacebookのフィードやTwitterのタイムラインなどで採用されています。
スクロールするページ、回数、間隔をOctoparseに伝えるだけで、Octoparseは手動スクロールのように行います。
1) スクロールするページに移動します。

2) 「Webページの読み込み後」で「スクロールダウン」をチェックします。
3) 「タイプ」を選択して「回数」と「実行間隔」を入力します。
4) 「保存」をクリックして設定を保存します。

ヒント! 無限スクロールの設定は簡単ですが、タスクの実行をテストして、スクロール時間が十分か、スクロールが正常に動作ているかどうかを確認することが大切です。 |
2) 「Load more」ボタンをクリックする
無限スクロール以外、一部のWebページでは、AJAXを介してより多くのコンテンツを継続的にロードするため、「Load More」ボタンをクリックする必要があります。
ページから利用可能なコンテンツをスクレイピングするために、すべての情報が読み込まれるまで「Load more」ボタンを繰り返しクリックするようにOctoparseを設定します。
https://health.usnews.com/best-hospitals/search?health.usnews.comを例として説明します。
1) 対象ページに移動します。
2) 「Load More」ボタンをクリックします(左クリックでリンクが動作するなら、右クリックします)。

3) 操作パネルから「単一要素をループクリップする」を選択します。これはOctoparseにボタンを繰り返しクリックするよう指示します。

4) ワークフローモードに切り替えると、生成されたワークフローが表示されます。
- ワークフローから「次のページをクリック」をクリックします。
- 「クリックオプション」から「AJAX読み込み」を選択し、タイムアウトを設定します(通常、1秒または2秒)。

|
5) これからループするリストを作ります(レッスン4を参照
)。


6) 「ローカル抽出」を使ってタスク実行をテストします。Webサイトの構造は異なるので、すべてのステップが正しく実行されているかどうかを確認することが重要です。
ヒント! 1. 抽出ループがページネーションループの内部にある場合は、手動で外に引きずります。
2. 間違って操作が行われた場合は、「操作をキャンセルする」を使ってアクションを取り消します。 |
関連記事:
From: https://www.octoparse.jp/tutorial/infinite-scrolling-and-load-more/