- Web サイトに予期しない HTML がある場合に、スクレイパーがカスタム例外をスローできるようにします。
- スクレイパーが HTMl を予期したときに実際に Web サイトを解析できることをテストするための単体テストを作成し、Web サイトを解析できないときにクラスがカスタム例外をスローすることもテストします。
- Web サイトのコンテンツを生成するコードで例外をキャッチします。エラーメッセージを送信してログに記録し、適切な情報をユーザーに表示します
また、解析されたコンテンツをローカルに保存する必要があります。リモート サーバーがダウンした場合、ScraperParseThingyException をスローする代わりに、保存されたコンテンツにフォールバックします。
これを監視する方法は多数あります。最も簡単な方法は、エラー ログをときどき監視することです。
$scraperConfiguration = array(
'disable_on_error' => true,
'notify_on_first_error' => true,
'notify_email' => 'scrape-errors@example.com',
);
...
$scraper = new Scraper($scraperConfiguration);
$scrapeResult = $scraper->scrape();
...
この小さなスクレーパーファサードが示すように、内部エラー処理を構成できます。ここでは、エラーが発生した場合に通知を自動的に無効にして送信します。
自動的に無効になるため、サイトには空の結果が返され、問題が修正されるまで気にする必要はありません。
さらに、テスト構成を使用してテストケースで使用できます (たとえば、電子メールを送信してエラーを無効にする代わりに、例外をスローしてそれをテストします)。これにより、特に開発および保守中に、テストで既に表示されます。コンポーネント。