我正在尝试用 PHP 编写程序,它将下载和解析 html 源代码。问题是,当我尝试下载由 js 生成的 html 时。
函数 onload() 完成后是否有机会下载文件?
谢谢
我正在尝试用 PHP 编写程序,它将下载和解析 html 源代码。问题是,当我尝试下载由 js 生成的 html 时。
函数 onload() 完成后是否有机会下载文件?
谢谢
这不是一项简单的任务,因为 Javascript 是必须由浏览器解释的实际活动代码。您从服务器获得的是实际的 HTML,而 javascript 所做的所有事情都在客户端,完全不受为您提供网页的服务器的控制。您通常无法通过静态分析来解决这个问题(即通过查看代码而不实际执行它来猜测会发生什么)。可靠地做到这一点的唯一方法是实际执行 javascript。
话虽如此,您可能不想从头开始编写自己的 javascript 解释器。那里有“无头”实现,它们有一个 javascript 解释器,就像浏览器一样,但不会在屏幕上显示它 - 它在虚拟 DOM 上执行所有操作。尝试查看PhantomJS。
编辑 看到这个问题,基本上有人会按照你的要求去做。我认为它应该适用于你的情况。
我不知道任何“纯” php 解决方案,但您可以轻松地使用 php 自动运行脚本。如果由于任何原因您需要保留 PHP,那么我会搜索“无头 DOM 渲染器”。