我有一个加载此网页的 php 脚本以从它的表格中提取一些数据。
以下方法无法获取其表格内容:
使用 file_get_contents:
$document -> file_get_contents("http://www.webpage.com/");
print_r($document);
使用卷曲:
$document = curl_init('http://www.webpage.com/');
curl_setopt($document, CURLOPT_RETURNTRANSFER, true);
$html = curl_exec($document);
print_r($html);
使用 loadHTMLFile:
$document->loadHTMLFile('http://www.webpage.com/');
print_r($document);
我不是 php 专家,除了第一种方法,其他方法都是从 StackOverflow 的答案中复制的。
我究竟做错了什么?
以及他们如何阻止某些内容加载?
不是您可能想听到的答案,但是您描述的方法都不会像普通浏览器客户端那样评估 JavaScript 和其他浏览器资源。相反,这些方法中的每一个都只检索您指定的文件的内容。快速浏览一下您所定位的站点,您会清楚地看到这个有问题的表被填充为 AJAX 调用的结果,您尝试过的任何方法都无法对其进行评估。
您需要依赖具有此类仿真功能的库或脚本;即laravel/dusk
,Selenium webdriver的 PHP 绑定,或类似的东西。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句