在(任何)Java程序中渲染JavaScript和HTML(访问渲染的DOM树)?
什么是最好的Java库来“完全下载任何网页并呈现内置的JavaScript,然后访问呈现的网页(即DOM树!以编程方式获取 DOM 树作为“HTML 源代码”?
(类似于firebug最终所做的,它呈现页面,我可以访问完全呈现的DOM树,就像页面在浏览器中一样!相比之下,如果我点击“显示源代码”,我只得到JavaScript源代码。这不是我想要的。我需要有权访问呈现的页面...)
(对于渲染,我的意思是只渲染DOM树而不是可视化渲染...)
这不一定是一个单一的库,有几个库可以一起完成这个任务是可以的(一个将下载,一个渲染...),但由于JavaScript的动态特性,JavaScript库很可能还必须具有某种下载器才能完全呈现任何异步JS...
背景:
在“美好的过去”,HttpClient(Apache库)是构建自己非常简单的爬虫所需的一切。(很多像 Nutch 或 Heretrix 这样的 cralwers 仍然围绕这个核心 princible 构建,主要关注标准 HTML 解析,所以我无法从中学习)我的问题是,我需要抓取一些严重依赖JavaScript的网站,并且我无法使用HttpClient进行解析,因为我之前需要执行JavaScripts。