httrack
是一个开源的命令行工具,用于下载和镜像整个网站。它能够递归地下载网站的所有页面、图片、文件等,并在本地重建网站结构。httrack
支持多种协议,包括 HTTP、HTTPS 和 FTP。本文将详细介绍 httrack
命令的安装、基本用法和高级用法,并通过具体示例帮助你快速上手。
🧑 博主简介:现任阿里巴巴嵌入式技术专家,15年工作经验,深耕嵌入式+人工智能领域,精通嵌入式领域开发、技术管理、简历招聘面试。CSDN优质创作者,提供产品测评、学习辅导、简历面试辅导、毕设辅导、项目开发、C/C++/Java/Python/Linux/AI等方面的服务,如有需要请站内私信或者联系任意文章底部的的VX名片(ID:
gylzbk
)
💬 博主粉丝群介绍:① 群内初中生、高中生、本科生、研究生、博士生遍布,可互相学习,交流困惑。② 热榜top10的常客也在群里,也有数不清的万粉大佬,可以交流写作技巧,上榜经验,涨粉秘籍。③ 群内也有职场精英,大厂大佬,可交流技术、面试、找工作的经验。④ 进群免费赠送写作秘籍一份,助你由写作小白晋升为创作大佬。⑤ 进群赠送CSDN评论防封脚本,送真活跃粉丝,助你提升文章热度。有兴趣的加文末联系方式,备注自己的CSDN昵称,拉你进群,互相学习共同进步。
【Linux】下载和镜像整个网站工具httrack:支持递归下载网站的所有页面、图片、文件等,并在本地重建网站结构,支持HTTP、HTTPS 和 FTP等多种协议
一、httrack
命令概述
1. 功能描述
httrack
可以下载和镜像整个网站,将网站的所有页面、图片、文件等下载到本地,并在本地重建网站结构。用户可以离线浏览下载的网站。
2. 基本语法
httrack [URL] [options]
二、安装 httrack
httrack
可以在多个操作系统上安装,以下是一些常见的安装方法:
1. 在 Debian/Ubuntu 上安装
sudo apt-get update
sudo apt-get install httrack
2. 在 CentOS/RHEL 上安装
使用 EPEL
仓库安装:
sudo yum install epel-release
sudo yum install httrack
3. 在 Fedora 上安装
sudo dnf install httrack
4. 在 macOS 上安装
使用 Homebrew 安装:
brew install httrack
5. 从源代码安装
如果你的系统没有对应的包管理器,也可以从源代码安装:
wget https://download.httrack.com/cserv.php3?File=httrack.tar.gz
tar -zxvf httrack.tar.gz
cd httrack-*
./configure
make
sudo make install
三、httrack
命令的基本用法
1. 下载和镜像网站
使用 httrack
命令可以下载和镜像整个网站:
httrack "URL" -O "directory"
示例
httrack "https://example.com" -O "./example_website"
这个命令会将 https://example.com
网站的内容下载到本地的 ./example_website
目录中。
2. 继续未完成的下载
如果下载过程被中断,可以使用 -i
选项继续未完成的下载:
httrack -i "URL" -O "directory"
示例
httrack -i "https://example.com" -O "./example_website"
3. 下载多个网站
可以使用空格分隔多个 URL 来下载多个网站:
httrack "URL1" "URL2" -O "directory"
示例
httrack "https://example.com" "https://example.org" -O "./websites"
四、常见选项
1. 设置最大链接深度
使用 -r
选项可以设置最大链接深度:
httrack "URL" -O "directory" -r "depth"
示例
httrack "https://example.com" -O "./example_website" -r 3
这个命令会下载 https://example.com
网站,并递归下载最多 3 层链接深度的页面。
2. 设置下载速度限制
使用 -A
选项可以设置下载速度限制(字节/秒):
httrack "URL" -O "directory" -A "rate"
示例
httrack "https://example.com" -O "./example_website" -A 100000
这个命令会将下载速度限制为 100000 字节/秒。
3. 设置最大下载文件大小
使用 -M
选项可以设置最大下载文件大小(字节):
httrack "URL" -O "directory" -M "size"
示例
httrack "https://example.com" -O "./example_website" -M 1000000
这个命令会将下载文件的最大大小限制为 1000000 字节。
4. 忽略特定文件类型
使用 -N
选项可以忽略特定文件类型:
httrack "URL" -O "directory" -N "filetype"
示例
httrack "https://example.com" -O "./example_website" -N "*.zip"
这个命令会忽略下载 .zip
文件。
5. 设置用户代理
使用 -F
选项可以设置用户代理:
httrack "URL" -O "directory" -F "user-agent"
示例
httrack "https://example.com" -O "./example_website" -F "Mozilla/5.0"
五、高级用法
1. 使用过滤规则
可以使用过滤规则来包含或排除特定的链接:
httrack "URL" -O "directory" "+*.example.com/*" "-*.gif"
示例
httrack "https://example.com" -O "./example_website" "+*.example.com/*" "-*.gif"
这个命令会下载 example.com
域名下的所有页面,但忽略 .gif
文件。
2. 使用代理服务器
可以使用 -P
选项通过代理服务器下载网站:
httrack "URL" -O "directory" -P "proxy:port"
示例
httrack "https://example.com" -O "./example_website" -P "proxy.example.com:8080"
3. 下载部分网站
可以使用 --depth
选项限制下载的链接深度:
httrack "URL" -O "directory" --depth=2
示例
httrack "https://example.com" -O "./example_website" --depth=2
这个命令会下载 https://example.com
网站,并递归下载最多 2 层链接深度的页面。
4. 忽略外部链接
可以使用 -n
选项忽略外部链接:
httrack "URL" -O "directory" -n
示例
httrack "https://example.com" -O "./example_website" -n
这个命令会忽略 example.com
域名外的链接。
六、示例场景
1. 下载并镜像网站
通过 httrack
下载并镜像整个网站:
httrack "https://example.com" -O "./example_website"
2. 继续未完成的下载
通过 httrack
继续未完成的下载:
httrack -i "https://example.com" -O "./example_website"
3. 下载多个网站
通过 httrack
下载多个网站:
httrack "https://example.com" "https://example.org" -O "./websites"
4. 使用过滤规则
通过 httrack
使用过滤规则下载网站:
httrack "https://example.com" -O "./example_website" "+*.example.com/*" "-*.gif"
七、总结
httrack
是一个强大的命令行工具,能够下载和镜像整个网站,并在本地重建网站结构。通过本文的介绍和具体示例,希望能够帮助你熟练掌握 httrack
命令的基本用法和一些高级功能,为你的离线浏览和网站备份提供有力支持。