根据官方的介绍1,HTTrack 是一个易用的离线浏览工具,他允许用户从万维网中离线备份某一个网站,包括建立层叠的目录,HTML,图片,以及其他文件。工具在 GPL 协议下开源。

最近主要是因为想要备份 http://www.runningman2015.com/guidang/ 这个网站,突然想到了这个工具。在此之前曾经想要自己用 scrapy 提取网站结构,然后存到数据库,想了一下,直接一个命令可以实现的事情,完全可以不用 scrapy 了。

安装

在許多Unix-like系統下,只需要用包管理工具安裝httrack即可。例如Debian使用

sudo apt-get install httrack webhttrack

该工具集包含一个命令行 httrack 和 一个WEB界面的 webhttrack。如果想要直观的运行 HTTrack,可以直接使用 webhttrack。 HTTrack 官方提供 Windows 版本,可以直接去官网1下载。

例子

一個使用例子:

httrack "http://www.runningman2015.com/" -O "/home/einverne/rm/" "+*.runningman2015.com/*" -v

它的意思是:以http://www.runningman2015.com/ 为起始URL,输出到 /home/einverne/rm/ 文件夹,范围是 runningman2015.com 域名下的所有文件,并显示所有错误信息(verbose)。

其他参数

  • O 镜像后本地路径 -O path/to/local

  • w 镜像网站 (–mirror) W mirror web sites, semi-automatic (asks questions) (–mirror-wizard) 更加自动化的备份

更多参考官网手册2

当然新手也可以直接运行 httrack 命令,该命令会自动产生一个向导,选择123 即可。

其他工具

名称 网址 平台 优缺点
Teleport Pro http://www.tenmax.com/teleport/pro/index.htm Windows 整站备份,网站结构清晰,只支持单一平台,收费
Cyotek WebCopy https://www.cyotek.com/cyotek-webcopy Windows with .NET 4.6 整站备份,免费

其他命令行

通过 wget 命令来下载整个站点内容

wget -m -p -E -k -r --no-parent -e robots=off www.example.com

说明:

  • -r 表示递归下载,即下载网站的所有页面和资源。
  • -np 表示不下载父目录,即只下载当前目录及其子目录的内容。
  • -p 表示下载 HTML 页面中引用的所有资源,例如图片、CSS 和 JavaScript 文件。
  • -k 表示转换 HTML 页面中的链接,使其指向本地文件。

缺点

镜像站点功能很强大,但是下载离线的数据非结构化数据,镜像功能对与纯静态HTML站点非常有效,但是对于目前互联网上的大部分 JS 动态网站却无能为力,镜像后容易都是内容。