使用PHP / CURL获取(动态加载页面)内容?

时间:2012-03-13 15:47:44

标签: php curl web boot

我尝试使用PHP / CURL编写webboot,但是我在处理特定页面时遇到了一个问题,即它正在动态加载一些内容! .. 解释更多: 当我尝试使用PHP / CURL下载页面时,我没有得到一些内容!然后我发现这个内容是在加载页面后加载的。这就是为什么CURL不处理这些遗漏的内容。

任何人都可以帮助我!

我的示例代码是:

$ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_REFERER, $reffer);
    curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, $redirect);
    curl_setopt($ch, CURLOPT_COOKIEFILE, ABSOLUTE_PATH."Cookies/cookies.txt");
    curl_setopt($ch, CURLOPT_COOKIEJAR, ABSOLUTE_PATH."Cookies/cookies.txt");
$result = curl_exec($ch);

2 个答案:

答案 0 :(得分:1)

您要加载哪个网址?可能是您请求的页面有一个或多个AJAX请求,在事后加载内容。我不认为cURL可以通过AJAX或其他XHR请求来容纳运行时加载的信息。

您可能希望查看类似PhantomJS的内容,这是一个无头的WebKit浏览器,它将完全执行页面并返回动态组合的DOM。

答案 1 :(得分:0)

由于该页面使用javascript加载内容,因此您无法通过cURL执行此操作。有关该问题的详细信息,请查看此页面:http://googlewebmastercentral.blogspot.com/2007/11/spiders-view-of-web-20.html