如何使用HTMLUnit确定页面更改?

时间:2012-08-03 08:05:25

标签: java web-scraping htmlunit

我正在寻找一种聪明的方法来确定自从我上次使用HTMLUnit对其进行检查后网站是否发生了变化。

我正在使用HTMLUnit来抓取网页的某些值,这些值会不时失败,因为页面的布局已经改变。 在这些情况下,我希望收到自上次访问以来页面看起来不同的通知。

我想通过简单地将它写入文件来持久保存通过HTMLUnit获得的页面对象。 下次我运行程序时,我可以将新对象与持久对象进行比较。

对此有何看法?有没有更聪明的方法来解决这个问题?

2 个答案:

答案 0 :(得分:0)

如果您需要做的就是与新布局进行交互,无论是否有更改的信息,请尝试执行page.refresh()或再次调用getPage(),然后再执行任何后续调用。否则......好吧,我只是查看了HtmlPage API,你现在所需的功能似乎没有内置。

答案 1 :(得分:0)

由于似乎没有更明智的方法来解决这个问题,我做了我在问题中提出的建议。 获取页面,持久保存源代码,并在下次运行程序时将此持久的html源与新的源进行比较。

缺点是它不适用于像google.com这样的某些页面,因为它们似乎动态地创建了页面。大多数其他网站都有效。