java - 后台嵌入浏览器,用于爬取JAVA

标签 java browser

我正在寻找一个可以在我的 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/

相关文章:

java - 如何使用 applicationContext.xml 中设置的一些默认值从 Spring 中的 JVM 选项访问属性值?

Java Remote 终止用户 session

java - 使用JavaFX播放音频"java.lang.IllegalArgumentException: uri.getScheme() == null! "错误

javascript - 无法读取 null 的属性 'focus'

java - 如何从可以进行 html 校正和 js 脚本编写的浏览器获取 html 内容?

java - SoundPool 只停止一次

java - 混合后如何从.wav文件中消除噪音?

html - 从 Common Lisp 在浏览器中打开 HTML 页面

javascript - 使用 Broadway.js 解码原始 h.264

javascript - Safari 10.1.1 中未定义的 window.innerWidth