如何以编程方式保存网页?

时间:2009-11-13 22:32:30

标签: caching web-applications screen-scraping html-content-extraction

我想以编程方式保存网页。

我并不仅仅意味着保存HTML。我还想自动存储所有相关文件(图像,CSS文件,可能是嵌入式SWF等),并希望重写本地浏览的链接。

预期用途是个人书签应用程序,其中在原始副本被删除的情况下缓存链接内容。

4 个答案:

答案 0 :(得分: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及其所需的所有文件。

答案 1 :(得分:2)

在Windows上:您可以将IE作为com对象运行并将所有内容拉出来。

另一方面,你可以选择Mozilla的来源。

在Java中,Lobo

或者commons-httpclient并写了很多代码。

答案 2 :(得分:0)

您可以尝试MHTML格式(这是IE使用的格式)。 http://en.wikipedia.org/wiki/MHTML

换句话说,您要将每个对象(图像,css等)下载到您的计算机,然后通过Base64将它们“嵌入”到一个文件中。

答案 3 :(得分:0)

如果您要将https://github.com/Y2Z/monolith保存为一个.html文件并将其所有资产(例如图像,CSS,字体,JS)嵌入为data:,也可以使用{{3}}网址。