2010-09-21 53 views
0

有了這個代碼我試圖下載該網頁: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
正如你所看到的部分價格缺失。
什麼可能是錯的?

回答

1

這不會按照您認爲的方式工作。原因是價格不在您獲得的初始HTML響應中。相反,有一些使用AJAX加載頁面時加載價格的Javascript魔術出現了。

+0

是的,但如何httrack(http://www.httrack.com/)下載此網頁,完美的作品。 – salafek 2010-09-21 02:12:34

+0

這是因爲httrack不僅僅是使用cURL加載頁面。 httrack也解析它加載的HTML,然後獲取所有附加資源,如圖像,外部Javascript等 – 2010-09-21 02:28:24

0

你的網頁內容不是簡單的html,因此它需要先由瀏覽器呈現,然後才能下載它。因此,不要使用捲曲,請使用瀏覽器進行下載。您可以使用iMacros for Firefox並編寫一個簡短的iMacros宏(SAVEAS TYPE = CPL至save the complete website ...)並通過command line觸發它。