2013-01-20 22 views
0

可能重複:
How do I save a web page, programatically?如何解析捲曲URL,CSS和圖像?

我剛開始用捲曲和我已經成功地拉外部網站:

function get_data($url) { 
    $ch = curl_init(); 
    $timeout = 5; 
    curl_setopt($ch,CURLOPT_USERAGENT, $userAgent); 
    curl_setopt($ch,CURLOPT_URL,$url); 
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); 
    curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout); 
    curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true); 
    $data = curl_exec($ch); 
    curl_close($ch); 
    return $data; 
} 
$test = get_data("http://www.selfridges.com"); 
echo $test; 

然而,CSS和圖像不包括在內。我需要也檢索CSS和圖像,基本上整個網站。有人能請我簡要介紹一下如何解析CSS,圖像和URL來開始我的工作嗎?

回答

1

有比PHP更好的工具來做到這一點,例如。 wget--page-requisites參數。

但請注意,自動刮取通常會違反網站的服務條款。

+0

感謝您的信息,但是我讀了wget無法下載動態PHP網站。如果我使用wget,我會不會在很多內容和功能上失去作用? – user208709

+0

@user這不是真的 - 在外部,一個網站是一個網站,不管它是靜態的還是由PHP動態生成都無關緊要。這種方法無法捕捉的是動態* Javascript *但是這是一個完整的無球遊戲 –

+0

因此,如果我理解正確,完成我需要使用wget將保留網站的所有鏈接,URL,圖像,CSS等。這將全部放在我本地服務器上的一個文件夾中,然後我可以像這樣調用它? localhost:8888/downloadedSite/index.html 從用戶的角度來看,所有下載的網站都會像現場一樣運作嗎? – user208709