1

使用诸如 cURL 或(在 PHP 中)流上下文 / 之类的东西file_get_contents来获取页面的起始 HTML 标记非常简单,但是如今,有如此多的页面受到 JS 的严格控制,即使您获得了页面的起始标记,您仍然无法轻易确定页面的实际构成是什么(因为页面的大部分是由运行客户端的 JS 构成的)。

因此,是否有可能在页面的所有加载 JS 通过使用诸如 cURL 之类的东西执行之后获取页面的整个 DOM 结构?

(作为额外的信息,我知道您可以使用 Chrome 开发工具等获得 DOM 结构,但我想知道是否有任何方法可以自动化该过程。)

非常感谢。

4

1 回答 1

2

您必须在浏览器中运行它,然后获取document.documentElement.outerHTML.

我认为仅在 PHP 中这是不可能的。你必须使用:

  • 幻影JS

    PhantomJS 是一个可使用 JavaScript API 编写脚本的无头 WebKit。使用标准 DOM API 或 jQuery 等常用库访问和操作网页。

  • SlimerJS

    SlimerJS 与 PhantomJs 类似,只是它运行的是 Mozilla Firefox 的浏览器引擎 Gecko,而不是 Webkit。

于 2013-08-16T01:40:40.520 回答