抽出したデータが多く重複してしまうのはなぜでしょうか?
フォローするOctoparseは初回のタスク実行時に、抽出された全てのデータを保存します。しかし、2回目、3回目のタスク実行時には、新しいデータだけが保存され、既に抽出されたデータは同じものとして認識され、重複としてマークされます。
もし上記のメカニズムがデータの重複を引き起こしていないと思われる場合は、以下の三つの側面からタスクの構造をチェックしてみることができます。
1)ページネーションXPathは次のページのボタンを見つけません。
Octoparseは多くの場合、前のページに戻って同じページを再度スクレイピングするか、最後のページをスクレイピングし続けて停止しないことがあります。
解決策:ページネーションのXPathを変更して、次のページのボタンを正しく見つけるようにします。
XPathの変更方法については、以下の関連チュートリアルをご参考ください。
2)ページネーションのクリックにおけるAJAXタイムアウトが短すぎる場合があります。
AJAX読み込みのあるページでは、ページを読み込むのに十分な長さでないAJAXタイムアウトが設定されていると、Octoparseは現在のページを再度スクレイピングする可能性があります。
解決策:AJAXタイムアウトを延長して、ページを完全に読み込むのに十分な長さに設定します。
3)「データを抽出する」アクションは、「ループアイテム」アクションに関連付けられていません。
ループアイテムからデータを抽出する場合、Octoparseは最初のアイテムをスクレイピングし続ける可能性があります。これは、Octoparseがループアイテムからではなく、ページから直接スクレイピングするためです。
解決策:以下の記事をご参考ください。