Ajaxを扱う方法
フォローするAJAXは「Asynchronous JavaScript and XML」の略で、Webページを再度読み込まなくコンテンツの一部を更新できるWeb開発技術です。AJAXが適用されたWebページを更新すると、リロード記号は表示されません。
1) Octoparseを使う時、なぜAJAXの扱いが必要ありますか?
Webデータをスクレイピングしている間、Octoparseは、「アイテムをクリックする」や「次のページをクリックする」などのアクションを実行する信号として再読み込みを行います。 AJAXを使っているWebページでは、リロードせずに新しいコンテンツを更新します。再読み込みがないので、Octoparseは動作の信号を受信できず、最後のステップで停止します。ですから、データの抽出ができなくなったり、予想より少ないデータが得られる可能性があります。
そのため、AJAXを使ってWebページからデータをスクレイピングする場合は、Octoparseが順調に行うようにAJAXタイムアウトを設定する必要があります。例えば、「次のページをクリックする」ステップにAJAXタイムアウトを2秒に設定すると、Octoparseは2秒間待機してアクションを実行します。この場合、Octoparseはリロード信号を待つ必要はありません。
2) OctoparseでAJAXタイムアウトを設定するタイミングと方法は?
Webサイトは通常、「もっと見る」や「レビューを表示」などクリックする必要がある要素にAJAXを適用するため、「次のページをクリックする」や「アイテムをクリックする」などの手順には、AJAXタイムアウトの設定が非常に必要です。
まず、AJAXがあるかどうかを確認する必要があります。要素をクリックしてページを更新した後にリロード記号がない場合は、その要素がAJAXを適用していることを確認できます。
AJAXタイムアウトを設定するには、「ステップ設定」で「詳細設定」の「AJAX読み込み」を選択します。
「AJAX読み込み」をチェックした後、AJAXタイムアウトを設定できます。 通常、2〜4秒をお勧めします。
3) AJAXがない場合、AJAXタイムアウトを設定しないでください。
再読み込みの必要があるページをスクレイピングするとき、AJAXタイムアウトを設定しないでください。そうしないと、Octoparseは設定したAJAXタイムアウトによってページの再読み込みを停止し、ページの読み込みが不完全になる可能性があります。Webページが完全に読み込まれない場合、データの抽出やステップの実行に問題が起こるかもしれません。