2

HTMLUnit で最後にチェックを実行してから Web サイトが変更されたかどうかを判断するスマートな方法を探しています。

HTMLUnit を使用して、ページのレイアウトが変更されたために時々失敗する Web ページの値をスクレイピングしています。このような場合、ページが前回の訪問時とは異なって見えるという通知を受け取りたいです。

HTMLUnit 経由で取得したページ オブジェクトをファイルに書き込むだけで永続化することを考えました。次にプログラムを実行するときに、新しいオブジェクトと永続化されたオブジェクトを比較できます。

これについて何か意見はありますか?これに対処するよりスマートな方法はありますか?

4

2 に答える 2

0

レイアウトが変更されたかどうかに関係なく、新しいレイアウトを操作するだけでよい場合は、後続の呼び出しを実行する前にpage.refresh()or を再度呼び出してみてください。getPage()そうでなければ...まあ、HtmlPageAPIを調べたところ、必要な機能が今のところ組み込まれていないようです。

于 2012-08-10T09:16:10.147 に答える
0

これに対処するより賢明な方法はないように思われるため、質問で提案したことを行いました。ページを取得し、ソースを永続化し、次にプログラムを実行したときに、この永続化された html ソースを新しいものと比較します。

欠点は、ページを動的に作成するように見えるため、google.com などの一部のページでは機能しないことです。ただし、他のほとんどのサイトは機能します。

于 2012-09-12T11:01:30.527 に答える