我正在试图抓取网页。
我想通过提供网址来下载网页,并将其保存以供其离线阅读及其所有图片。我无法用wget做到这一点,因为它创建了许多目录。
wget可以实现吗?有没有类似FireFox中的“另存为”选项,它创建一个目录并将所有必需的资源放入HTML页面?
是否可以做Nokogiri或Mechanize?
答案 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下载带有图片的单页,以便使用非常干净的目录结构进行离线阅读。