2

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

我正在使用 HTMLUnit 来抓取网页的一些值,但由于页面的布局发生了变化,这些值有时会失败。在这些情况下,我希望收到通知,该页面自上次访问以来看起来有所不同。

我考虑过通过简单地将其写入文件来持久化通过 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 回答