让Jsoup支持JavaScript动态生成的html

时间:2012-09-27 15:37:15

标签: java javascript html jsoup htmlunit

现在我正在开发一个webcrawler。这个应该解析一些特定的站点,并给我一个输出到xml文件。到目前为止,这没问题。 Crawler可以工作,您可以通过cfg文件快速自定义它。我使用Jsoup来解析HTML内容。

我刚刚添加了一些网站,并注意到我通过JavaScript创建的HTML内容存在巨大问题。难道没有办法让Jsoup支持Javascript吗?或者至少获取我在浏览器中可以看到的完整HTML内容。

我已经尝试过HtmlUnit,但是这个做得并不好。它没有给我我在浏览器中得到的内容。

诚恳,

Ogofo

1 个答案:

答案 0 :(得分:7)

Jsoup不支持javascript,也不会模拟浏览器。如果您计划执行Javascript,请忘掉它。根据我的经验,HtmlUnit是一个无头浏览器,它给了我最好的结果(总是谈论Java框架)。

在HtmlUnit中值得尝试的一件事是在创建BrowserVersion实例时更改WebClient(Chrome / InternetEplorer / FireFox)。有些网站会以不同的方式做出反应,有时只是改变了这个值可能会为您提供您期望获得的结果。