6

我想以編程方式保存網頁。如何以編程方式保存網頁?

我不是說只保存HTML。我還想自動存儲所有相關文件(圖像,CSS文件,可能嵌入SWF等),並希望重寫本地瀏覽鏈接。

預期用途是個人書籤應用程序,其中鏈接內容被緩存以防原始副本被取下。

回答

6

看看wget,具體-p標誌

−p −−page−requisites 
This option causes Wget to download all the files 
that are necessary to properly display 
a givenHTML page. Thisincludes such 
things as inlined images, sounds, and 
referenced stylesheets. 

以下命令:

wget -p http://<site>/1.html 

將下載page.html中,它需要的所有文件。

+0

爲什麼有人低估我?我的意思是-1沒有打擾我,因爲我想糾正任何問題可能與我的答案... – Josh 2009-11-14 14:26:49

+0

這看起來不錯,除了有時輸出看起來不一樣的頁面我複製了。例如,我試圖'wget -p'http://ffffound.com/image/3d3795b5447291980a40f3719dea4b5b15ff3ec9 然而,相關圖像被列爲水平列表,現在變成了一個長垂直列表,每行一個。爲什麼? – 2009-11-16 07:18:32

2

在Windows上:您可以將IE作爲COM對象運行並將所有內容全部取出。

另一方面,你可以採取Mozilla的來源。

在Java中,Lobo

或commons-httpclient並寫了很多代碼。

+0

如果您需要像樣式表和CSS導入中引用的背景圖片之類的東西,則需要現實世界的HTML和CSS解析器。那已經是瀏覽器的一半了,所以你可以用真正的瀏覽器來做。最容易嵌入IE,或作爲Firefox擴展。 – bobince 2009-11-13 22:41:52

0

你可以試試MHTML格式(這是IE使用的格式)。 http://en.wikipedia.org/wiki/MHTML

換句話說,您會將每個對象(圖像,CSS等)下載到您的計算機,然後通過Base64將它們「嵌入」到單個文件中。

+0

如何編程? – 2009-11-13 23:12:14

+0

你想用什麼編程語言? – 2009-11-14 02:01:11

+0

這裏有一個使用VB:http://www.codeproject.com/KB/aspnet/aspnethtml2mht.aspx – 2009-11-14 02:04:18

相關問題