如何获得一个网页的HTML代码后,它是完全加载在php?



我试图获得任何网页的HTML代码,只有并且只有在它完全加载后。

我尝试了CURL和file_get_contents,现在我明白了它们不会等待JavaScript完成。

我现在知道解决方案是使用无头浏览器。我尝试了PhantomJS,但它有点低效,因为唯一的方法是设置一个恒定的超时时间。

另外,我发现,通常情况下,几乎不可能得到当页面真正完全加载时,最好的方法是继续检查网络数据,直到它们完全停止。

我相信继续检查页面中内容的存在,对我的使用会很好,但据我所知,实现这一点的唯一方法是使用puppeteer包,它只适用于NodeJS而不是PHP。

那么,你们知道有什么有效的方法可以在页面在PHP中完全加载后获得HTML代码,而无需经历集成其他编程语言或其他平台的复杂过程吗?

我不认为你将能够完成它与PHP,因为它不是一个浏览器,不能运行JavaScript。你可以使用像Headless Chromium这样的东西,做chrome --headless --disable-gpu --dump-dom https://www.chromestatus.com/,不幸的是,它不能准确地告诉它什么时候"完全加载"。但是我相信你可以在某种延迟的情况下完成。

Mb的东西像设置JS页面加载完成获得所有的页面内容变量,然后通过Ajax发送该变量到php脚本?