タスク/ワークフローのデバグ
フォローするOctoparseで作成したタスクが予想通りに機能しない場合、タスク/ワークフローのバグをどのように見つけられますか?
この記事ではOctoparseでスクレイピングタスクをデバッグする方法を説明します。これらのステップに従うことで、タスク/ワークフローを自分でデバッグすることができます。
ステップ3:クラウド抽出でデバッグする(プレミアムユーザーのみ)
一般的に、ワークフロー内のステップをクリックすると、それに合わせて内蔵ブラウザにプロセスが反応され、詳細が「カスタマイズアクション」に表示されます。
Octoparseは各ステップを上から順に実行するので、このステップを上から下の順にクリックする必要があります。
次の例は、各ステップを手動でクリックしてデバッグする方法を示します。
1.「Webページを開く」をクリックすると、ターゲットとなるWebページが内蔵ブラウザで開かれます。さらに、「Webページを開く」ステップは「カスタマイズアクション」でカスタマイズできます。
Webページの読み込みに時間がかかる場合は、タイムアウトを長くする必要があります。
2.「ページネーション」ループをクリックして、「次のページをクリックする」ボタンが機動しているかどうかを確認します。
「次のページをクリックする」ボタンのあるループアイテムの設定は、「カスタマイズアクション」に表示されるべきです。
そうでないと、ループアイテムが「次のページをクリックする」ボタンを正確に見つけられないと判断されます。この場合は、「ページネーション」ループのXPathを変更する必要があります。ページ番号でページネーションを処理する方法と複数のページからデータを抽出する
という2つのチュートリアルをご参考ください。
3.「ページネーション」をクリックして、ページ遷移が正しく機能しているかどうかを確認します。
操作がうまくいったら、次のページが内蔵ブラウザに表示されます。逆にそうでない場合は、「ページネーション」のXPathを変更する必要があります。
その上、AJAX技術が使われているWebサイトに「AJAXタイムアウト」を設定するように慎重に対応しなければなりません。
4.「ループアイテム」をクリックして、現在のページですべての項目が正確に表示されているかどうかを確認します。ループアイテムの設定は「カスタマイズアクション」に表示されます。
5.「アイテムをクリックする」をクリックして、それに合わせて内蔵ブラウザにそのプロセスが反応されるかどうかを確認します。
「次のページをクリックする」の確認手順と同じですが、AJAX技術が使われているWebサイトに「AJAXタイムアウト」を設定するように慎重に対応しなければなりません。
6.「データを抽出する」をクリックして、取得先のデータが正確に抽出されたかどうかを確認します。
データはフィールドずれで抽出されたり、またはまったく抽出されない場合は、XPathが間違った可能性があります。これを解決するには次のチュートリアルをご参考ください。
ヒント!
|
手動でクリックして各ステップがうまく機動することが確認できた後、ローカル抽出でタスクを実行してバグがあるかどうかを確認します。
次のような場合はバグがあると考えられます。
- データが抽出されない
警告が表示されたら、なぜOctoparseが停止し、データが抽出されないのですかをご参考ください。
タスクが重複データを抽出し続ける場合は、「ループアイテム」に問題があるだと判断できます。なぜOctoparseは最初のアイテムだけを抽出して重複のデータを取得するのですか?次の記事からいくつかの解決策があります。
- 抽出時に抽出できていないデータが多すぎる
「ループアイテム」は、各リストページのリストにあるすべてのアイテムが選択されていません。
リストを作成するときにアイテム不足をどのように解決できますか?
Webページが完全に読み込まれていない。
ワークフローでデータが表示されるが、なぜデータを抽出できないのですか?
- 比較的低速でデータを抽出する
ローカル抽出の実行速度が非常に遅い場合は、オペレーティングシステム、ハードウェア容量、IPアドレス、ネットワーク帯域幅などのローカル環境が原因である可能性があります。さらに、Webサイトのコンテンツも掻き取り速度に影響します。たとえば、大量の画像が含まれているWebサイトからデータを削除する場合は、ページを完全に読み込むのに時間がかかります。
ただし、速度が遅いこともバグの可能性があります。たとえば、いくつかのステップでAJAXタイムアウトを設定するのを忘れた場合、Octoparseはデフォルトでステップを続行するために120秒間待機します。
クラウド抽出のデバッグに進める前に、ワークフローの各ステップを手動でクリックしてローカル抽出を実行し、タスクがすでにうまく機能していることを確認する必要があります。クラウド抽出で発生した状況を処理するためのチュートリアルがいくつかあります。
- クラウド抽出を使用するとデータが失われる
クラウド抽出にデータ漏れがある場合、クラウド抽出にデータが不足した時の対応方法をご参考ください。
- クラウド上でデータが抽出できない
ローカル抽出が動作しているのに、なぜクラウド抽出にデータがないのですか?
この記事は役に立ちましたか?もしご不明な点がございましたら、いつでもお問い合わせください!