java - 让 Jsoup 支持 JavaScript 动态生成的 html

标签 java javascript html jsoup htmlunit

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

我刚刚添加了几个站点,发现通过 JavaScript 创建的 HTML 内容存在一个大问题。有没有办法让 Jsoup 支持 Javascript?或者至少获得我可以在浏览器中看到的完整 HTML 内容。

我已经尝试过 HtmlUnit,但这个效果不佳。它没有给我在浏览器中获得的内容。

此致

奥戈弗

最佳答案

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

在 HtmlUnit 中值得尝试的一件事是在创建 WebClient 实例时更改 BrowserVersion(Chrome/InternetEplorer/FireFox)。一些网站以不同的方式使用react,有时只是改变该值可能会给您带来您期望的结果。

关于java - 让 Jsoup 支持 JavaScript 动态生成的 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12625043/

相关文章:

javascript - 订阅放置在 Promise Angular 6 中的 http.post

html - 在 DIV 中对齐图像

javascript - HTML。当另一个表单字段更改时,也更改一个表单字段

java - 调试外部应用程序时将 IntelliJ 定向到源

java - if 语句中的 i++ 与 i=i+1 有什么区别?

javascript - 在更改时添加和删除总计框中的数字

JavaScript 命令 getSelection 不起作用,而 getElementById 工作正常

java - 这里有多少个线程?

java - JFrame 不重绘

java - 使用内联链接文档将 html 转换为 pdf