可以执行JavaScript的服务器端浏览器

是否有任何编程库可以解析HTML文档,执行JavaScript然后允许我导航DOM? 这需要在服务器端执行,而不是在客户端执行。 任何语言都可以,但Java,PHP或Ruby是首选。

在java中: http : //lobobrowser.org/cobra/java-html-parser.jsp
这是一个支持Javascript的CSS识别HTML解析器
与您的问题相关的最重要的function:它是Javascript感知的。 解析期间发生的DOM修改将反映在生成的DOM中。

您是否尝试过将浏览器引入服务器 ?

Java支持使用Rhino的javascript,同时查看服务器端javascript解决方案的这个页面: http : //en.wikipedia.org/wiki/Server-side_JavaScript

对于Java,请务必查看HtmlUnit和HttpUnit 。

PhantomJS执行此操作,可以与任何服务器端语言一起使用。 请参阅下面的NodeJS和PHP的一些集成模块

的NodeJS

https://npmjs.org/package/node-phantom

https://github.com/sgentle/phantomjs-node

PHP

https://github.com/diggin/php-PhantomjsRunner

PHP有DOMDocument用于导航DOM。 我还没有听说过执行JavaScript的任何事情。

从这篇文章开始,然后点击链接。 或者只是搜索Rhino。

现在有几个项目可以很好地完成这项工作:

  • PhantomJS是WebKit的无头版本,并且有一些有用的包装器,如CasperJS 。

  • Zombie.js是用Javascript(Node.js)编写的jsdom包装器。

您需要编写JavaScript代码才能与这两个项目进行交互。 到目前为止,我更喜欢Zombie.js,因为它更容易设置,并且您可以在代码中使用任何Node.js / npm模块。

node.js?

Node可以在其控制台中运行任何javascript文件。 我会首先尝试节点,看看它是否可以做你想要的,因为它可能拥有最大的用户群和文档。