使用此代码我正在尝试下载此网页:http://www.kayak.com/s/...
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,'http://www.kayak.com/s/search/air?ai=kayaksample&do=y&ft=ow&ns=n&cb=e&pa=1&l1=ZAG&t1=a&df=dmy&d1=4/10/2010&depart_flex=exact&r1=y&l2=LON&t2=a&d2=11/10/2010&return_flex&r2=y');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FAILONERROR, true);
curl_setopt($ch, CURLOPT_REFERER,"http://wwww.google.com");
$content = curl_exec ($ch);
echo $content;
您可以在以下位置查看演示:http://www.pointout.org/test.php
如您所见,缺少价格的部分
可能有什么不对?
答案 0 :(得分:1)
这不会像你想象的那样发挥作用。原因是价格不在您获得的初始HTML响应中。相反,发生了一些Javascript魔术,它使用AJAX在页面加载时加载价格。
答案 1 :(得分:0)
您的页面内容不是简单的html,因此需要先通过浏览器呈现,然后才能下载。因此,不要使用curl,而是使用浏览器进行下载。您可以使用iMacros for Firefox并编写一个简短的iMacros宏(SAVEAS TYPE = CPL到save the complete website ...)并通过command line触发它。