Ajax読み込み
フォローするAjax(エイジャックス)読み込みとは?
図書館で本を探している場面を想像してみてください。従来のページめくり方式は、本を1ページずつめくって、欲しい本を見つけるまで続けるようなものです。しかし、Ajax(エイジャックス)のページめくりは、あたかも図書館の本棚で本を探しているときに、司書が次々に新しい本をあなたに手渡してくれるようなものです。あなたは元の位置から動く必要がなく、新しい本を受け取るだけで済みます。
ウェブページでは、ページの下端にスクロールすると、新しいデータを読み込む必要がある場合、Ajaxは自動的にサーバーにリクエストを送り、新しいデータを取得し、ページに表示します。この際、ページ全体をリフレッシュする必要がないため、現在のページを離れることなくさらに多くの内容を閲覧することができます。まるで図書館の本棚で移動せずにさらに多くの本を見つけるような感じです。
これがAjax(エイジャックス)のページめくりやデータの読み込みの原理であり、ウェブページの閲覧をスムーズで効率的にします。
Ajax(エイジャックス)を使用しているかを判断する方法
ウェブページがAjax(エイジャックス)を使用しているか、通常のページ遷移をしているかを判断するためには、以下の方法があります:
1. ページ遷移の検証
通常のページ遷移では、新しいページを開くと元のページは完全にリロードされます。この場合、ブラウザのURLも変わります。一方、Ajaxを使用している場合は、新しいコンテンツが追加されるだけで、元のページはリロードされず、ブラウザのURLも変わりません。
2. 開発者ツールの確認
ウェブブラウザの開発者ツールを使ってページのネットワーク通信を確認することで、Ajaxリクエストが行われているかを確認できます。Ajaxを使っている場合、ネットワークタブに新しいデータを読み込むためのAjaxリクエストが表示されることがあります。
3. ページの動作を観察
Ajaxを使用しているページは、ページの一部のみが更新される場合があります。例えば、商品リストがAjaxで読み込まれている場合、商品リストの部分だけが変更され、他の部分はそのまま表示されたままになります。
これらの方法を使って、ウェブページがAjaxを使用しているか、通常のページ遷移をしているかを判断することができます。
スクレイピングでなぜAJAXの扱いが必要ありますか?
Webデータをスクレイピングしている間、Octoparseは、「アイテムをクリックする」や「次のページをクリックする」などのアクションを実行する信号として再読み込みを行います。 AJAXを使っているWebページでは、リロードせずに新しいコンテンツを更新します。再読み込みがないので、Octoparseは動作の信号を受信できず、最後のステップで停止します。ですから、データの抽出ができなくなったり、予想より少ないデータが得られる可能性があります。
そのため、AJAXを使ってWebページからデータをスクレイピングする場合は、Octoparseが順調に行うようにAJAXタイムアウトを設定する必要があります。例えば、「次のページをクリックする」ステップにAJAXタイムアウトを2秒に設定すると、Octoparseは2秒間待機してアクションを実行します。この場合、Octoparseはリロード信号を待つ必要はありません。
設定方法
AJAXタイムアウトを設定するには、「ステップ設定」で「詳細設定」の「AJAX読み込み」を選択します。「AJAX読み込み」をチェックした後、AJAXタイムアウトを設定できます。 通常、10秒以上をお勧めします。
注意事項
AJAXがない場合、AJAXタイムアウトを設定しないでください。
再読み込みの必要があるページをスクレイピングするとき、AJAXタイムアウトを設定しないでください。Octoparseは設定したAJAXタイムアウトによってページの再読み込みを停止し、ページの読み込みが不完全になる可能性があります。Webページが完全に読み込まれない場合、データの抽出やステップの実行に問題が起こるかもしれません。