如何从指定的URL将网页下载到单个文件中?

时间:2013-05-09 19:17:10

标签: ruby nokogiri mechanize wget

我正在试图抓取网页。

我想通过提供网址来下载网页,并将其保存以供其离线阅读及其所有图片。我无法用wget做到这一点,因为它创建了许多目录。

wget可以实现吗?有没有类似FireFox中的“另存为”选项,它创建一个目录并将所有必需的资源放入HTML页面?

是否可以做Nokogiri或Mechanize?

2 个答案:

答案 0 :(得分:2)

您可以使用wget执行此操作并在ruby脚本中运行它。

以下示例将翻录我网站的主页skrimp.ly,并将内容放入名为“download”的单个目录中。一切都将在顶层,HTML中嵌入的链接将被重写为本地:

wget -E -H -k -K -p -nH -nd -Pdownload -e robots=off http://skrimp.ly

注意:您应该查看wget的一些文档。它可以做一些非常疯狂的事情,比如下多层次。如果你做那样的事情请谨慎 - 它可能在网络服务器上相当沉重,并且在某些情况下会使网站管理员花费很多。

http://www.gnu.org/software/wget/manual/html_node/Advanced-Usage.html#Advanced-Usage

答案 1 :(得分:2)

Tin Man 给出的答案完成了这项工作。 This展示了如何使用Nokogiri下载带有图片的单页,以便使用非常干净的目录结构进行离线阅读。