5

画面スクレイピングに大きく依存するサイトを書いています。画面のスクレイピングは壊れやすいことを知っているので、何らかの形で問題があることを通知してもらいたいです。

私がうまくいくと思う解決策は、サポートしたいサイトごとに rspec テストを書くことです。このテストでは、各サイトからいくつかのリモート ページを開き、それらをスクレイパーから期待される出力と比較します。ローカルにキャッシュされたコピーでも同じテストを実行したいので、コードの変更によってスクレーパーが壊れたのか、それともリモート サイトが変更されたのかがわかります。これらのテストを 1 日 1 回実行して、問題があれば通知したいと思います。

これは私にとって繰り返し発生する問題であるため、最終的にはこれを宝石にしたいと思います。私はスクレイピングを頻繁に行う傾向があり、物事がいつ壊れるかを知ることができればうれしいです.

したがって、私の問題は、コードのテストを書くことに比較的慣れていないことであり、これを設定する最良の方法が何であるかがわかりません。

4

1 に答える 1

6

VCR gemを見てください。これにより、テストしたいさまざまなページのローカルコピーを取得できると同時に、それらを頻繁に更新したり、ライブページに対してテストしたりすることができます。

于 2012-11-15T19:20:53.240 に答える