下载由javascript生成的源html


Download source html generated by javascript

我试图在PHP中编写程序,这将下载和解析html源。问题是,当我尝试下载html,这是由js生成。
函数onload()完成后是否有机会下载文件?

谢谢

这不是一项微不足道的任务,因为Javascript是实际的活动代码,必须由浏览器解释。您从服务器获得的是实际的HTML, javascript所做的所有事情都是在客户端完成的,完全不受服务器的控制,而服务器为您提供了Web页面。一般来说,静态分析无法解决这个问题(即通过查看代码而不实际执行它来猜测会发生什么)。唯一可靠地做到这一点的方法是实际执行javascript。

也就是说,你可能不想从头开始编写自己的javascript解释器。有一些"无头"实现,它们有一个javascript解释器,就像浏览器一样,但不显示在屏幕上——它在一个虚拟DOM上完成所有的操作。PhantomJS.

EDIT看到这个问题,有人基本上做了你问的。我觉得你的案子应该是这样的。

我不知道有什么"纯"的php解决方案,但是你可以很容易地用php自动运行脚本。如果你需要保持PHP由于任何原因,那么"无头DOM渲染器"是我将搜索。