我正在寻找一个可以在我的 java 应用程序后台运行的 Web 浏览器。它将获取与 url 相关的所有资源并创建 DOM、运行启动 js 脚本等。它将执行浏览器所做的所有操作,但它不需要 UI,但需要一个 API 来控制渲染的页面、执行 js 脚本等。 它应该支持最新的 HTML、CSS 和 JS 实现。
有类似的东西吗?
最佳答案
使用phantom.js等产品可以轻松实现这一点。它可以在 phantom.js 中轻松完成而不是在 java 中的原因是 - phantom.js 使用 V8 脚本引擎,与支持 Google Chrome 浏览器的引擎相同。所以实际上 Phantom JS 就像一个隐形的 google chrome 浏览器。 Java 中没有类似的支持。
Java 确实支持自定义脚本引擎 Scripting Engine in Java 。但这只是故事的一部分,您需要能够加载 HTML/DOM、解释 CSS 等。
所以,我的建议是从您的 Java 应用程序中调用 phantom.js。您可以探索使用 JNI 来操作 phantom.js 行为。
关于java - 后台嵌入浏览器,用于爬取JAVA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20675031/