有一些专门针对网站克隆爬取的软件,如 WebZip、awwwb.com 等等,据说挺好用的。这里我给大家介绍一款程序员最爱的网站克隆爬取工具 – HTTrack,而且是开源的。
什么是 HTTrack?
WinHTTrack HTTrack 是一款简单易用的离线浏览器实用工具。该软件允许你从互联网上传输一个网站到一个本地目录当中,从服务器创建递归所有结构,获得 html,图像以及其它文件到你的计算机当中。
相关的链接被重新创建,因此你可以自由地浏览本地的网站(适用于任何浏览器)。
你可以把若干个网站镜像到一起,以便你可以从一个网站跳转到另一个网站上。
你还可以更新现存的镜像站点,或者继续一个被中断的传输。
该带有许多选项和功能的装置是完全可配置的。
该软件的资源是免费开放的!
HTTrack 的安装和使用
HTTrack 支持 Windows、Linux 和 MacOS 等主流的操作系统,且针对 Windows 而言,HTTrack 有可视化界面的支持,效果如下:

Windows 下安装:
通过 http://www.httrack.com/page/2/en/index.html,Download 下载对应的版本即可。
Linux 下安装:
# Debian/Ubuntu下安装
sudo apt install httrack
# CentOS/Fedora下安装
sudo yum install httrack
# Gentoo下安装
sudo emerge httrack
具体参考:http://www.httrack.com/page/2/en/index.htm…
常用的参数选项可以通过 httrack –help 查看。
爬取一个网站
测试站地址: https://****.com
xdl@xdl-virtual-machine:~/Downloads$ htt
httrack httxt2dbm
xdl@xdl-virtual-machine:~/Downloads$ httrackWelcome to HTTrack Website Copier (Offline Browser) 3.49-2
Copyright (C) 1998-2017 Xavier Roche and other contributors
To see the option list, enter a blank line or try httrack –helpEnter project name :jiayu
Base path (return=/home/xdl/websites/) :
Enter URLs (separated by commas or blank spaces) :https://localhost.com
Action:
(enter) 1 Mirror Web Site(s)
2 Mirror Web Site(s) with Wizard
3 Just Get Files Indicated
4 Mirror ALL links in URLs (Multiple Mirror)
5 Test Links In URLs (Bookmark Test)
0 Quit
:Proxy (return=none) :
You can define wildcards, like: -*.gif +www.*.com/*.zip -*img_*.zip
Wildcards (return=none) :You can define additional options, such as recurse level (-r<number>), separated by blank spaces
To see the option list, type help
Additional options (return=none) :—> Wizard command line: httrack https://localhost.com -O “/home/xdl/websites/jiayu” -%v
Ready to launch the mirror? (Y/n) :y
Mirror launched on Wed, 25 Mar 2020 13:29:38 by HTTrack Website Copier/3.49-2 [XR&CO’2014]
mirroring https://localhost.com with the wizard help..
Done.
Thanks for using HTTrack!
*
参数解析
# 1. 输入待生成的项目名称
Enter project name :progit
# 2. 输入待保存的项目所在的路径
Base path (return=/Users/apple/websites/) :/Users/apple/Desktop
# 3. 输入需要克隆的网站的 url
Enter URLs (separated by commas or blank spaces) :https://progit.bootcss.com/Action:
(enter) 1 Mirror Web Site(s)
2 Mirror Web Site(s) with Wizard
3 Just Get Files Indicated
4 Mirror ALL links in URLs (Multiple Mirror)
5 Test Links In URLs (Bookmark Test)
0 Quit
:
# 4. 没有特别要求直接回车即可
Proxy (return=none) :You can define wildcards, like: -*.gif +www.*.com/*.zip -*img_*.zip
# 5. 没有特别要求直接回车即可
Wildcards (return=none) :You can define additional options, such as recurse level (-r<number>), separated by blank spaces
To see the option list, type help
# 6. 没有特别要求直接回车即可
Additional options (return=none) :—> Wizard command line: httrack https://progit.bootcss.com/ -O “/Users/apple/Desktop/progit” -%v
Ready to launch the mirror? (Y/n) :Y
Mirror launched on Thu, 15 Aug 2019 11:54:40 by HTTrack Website Copier/3.49-2 [XR&CO’2014]
mirroring https://progit.bootcss.com/ with the wizard help..
Done.
Thanks for using HTTrack!
*
查看结果

把之中的,localhost.com 文件夹就是你爬取下的网站。

但是发现打开后,有一个报错,提示 cdn 的 js,无法直接访问。

那这种,我们只能去 cdn 上给下载到本地了。
下载后发现是有路径错误,我们打开代码发现全是加密了。


打开报错地方的 js 代码:

好吧加密了,我们解一下。可以直接使用 js 解密工具。
解密后 好看多了。

经过一番代码解析,寻找。具体就不提了。
我们把路径改正确。
改正确后,我们发现,缺少一个 data.json。文件

这是因为原网站,引用了一个时间轴插件,这个插件挺好的,献上下载地址。https://www.php.cn/xiazai/js/4818
那我们只能去原网站把 data.json 下载下来了。
引入后,打开网站。
成功

答疑,有些小伙伴想,为什么不直接 ctrl+s 呢?而是要配合 httrack?
我放目录图你就知道了。
httrack 的目录:

ctrl+s 的目录:

好啦,今天就到这里。如果喜欢研究爬虫,那就给我点赞,我会出一个 python 爬虫小课!