本文目录导读:

保存整个网站(即网站离线归档)通常有几种不同的需求场景:比如只是保存静态页面供离线浏览,或者需要保留网站结构以供本地调试,根据你的具体需求,以下是一些常用工具和方法:
🔧 常用工具推荐
| 工具名称 | 适用场景 | 特点 | 平台 |
|---|---|---|---|
| HTTrack | 最经典的整站下载工具 | 支持断点续传、设置下载深度、过滤文件类型 | Windows / Linux / macOS |
| SiteSucker (macOS) | macOS 用户友好选择 | 界面简洁,支持下载视频、图片等资源 | macOS |
| wget (Linux/Windows) | 技术用户 / 深度定制 | 命令行工具,灵活强大,支持递归、镜像模式 | 所有平台 |
| Cyotek WebCopy | Windows 用户可视化操作 | 支持正则表达式过滤、自动调整链接 | Windows |
| Teleport Pro (收费) | 企业级 / 大型网站 | 支持脚本抓取、表单提交模拟 | Windows |
| SingleFile | 单页保存(配合批量使用) | 将整个网页(HTML+CSS+JS+图片)打包为单个文件 | 浏览器扩展 |
🌐 使用 wget(最推荐,无 GUI 依赖)
wget 是 Linux 自带或 Windows 可安装的命令行工具,以下是保存整个网站最常用的命令:
wget -mk -p -np -t 3 -e robots=off --no-check-certificate -U "Mozilla/5.0 (Windows NT 10.0; Win64; x64)" -P ./website http://example.com/
参数解释:
-mk:开启镜像模式并调整链接为本地可用(最重要)-p:下载页面所需的所有资源(图片、CSS、JS等)-np:不回溯到父目录(避免下载全站外的其他页面)-t 3:失败重试3次-e robots=off:忽略 robots.txt 限制(谨慎使用,尊重网站规则)--no-check-certificate:跳过 HTTPS 证书验证(很多网站会屏蔽)-U:模拟 PC 浏览器 User-Agent 避免被拒绝-P ./website:保存到当前目录下的 website 文件夹
Mac 用户:如果系统自带 wget 版本较低,可通过 Homebrew 安装:brew install wget。
🖥️ 使用 HTTrack(可视化界面,适合新手)
- 下载 HTTrack:从 官网 下载对应系统版本。
- 新建项目:填写项目名称和保存路径。
- 设置目标网址:输入网站地址。
- 设置参数(可选):
- 限制下载深度(如:3层,避免下载过多无关页面)。
- 过滤文件类型(如排除
.pdf、.exe等大文件)。 - 排除特定路径(如
/admin/或/api/)。
- 开始下载:点击“下一步”,之后会显示下载进度,HTTrack 会自动将远程网址替换为本地相对路径,保存的网站通常可以离线打开。
注意事项:HTTrack 默认会保存 robots.txt 允许的页面,如果需要抓取更全,可手动在设置中取消勾选“遵守 robots.txt 规则”。
📋 注意事项(避免踩坑)
- 版权与法律:只保存自己拥有版权、或者允许爬取的网站(如开源文档、个人博客),抓取他人商业网站可能违反服务条款。
- 动态网站:如果网站大量使用 JavaScript 动态加载内容(如 Vue/React 单页应用),上述工具可能无法保存完整内容,这类情况建议:
- 用浏览器手动保存每个页面(F12 -> 另存为 -> 网页,完整)。
- 使用 SingleFile 浏览器扩展逐个保存(支持批量)。
- 大型网站:整站下载可能占用大量带宽和存储(如一个中型博客可能在数 GB),建议先设置下载深度(如只抓取3层),或跳过图片/视频等大文件。
- 会话限制:部分网站需要登录才能访问内容,此时需在工具中配置 Cookie 或使用浏览器插件模拟登录后保存(如使用 Cookie-Editor 扩展导出 Cookie,再导入 wget)。
🚀 总结建议
- 新手 / 小网站(几百页以内):直接下载 HTTrack,可视化操作。
- 技术用户 / 需要脚本化 / 大网站:用 wget 命令,配合
--recursive --level=inf参数。 - 只需要静态离线阅读:用 SingleFile 或浏览器的 “保存网页为 PDF”(适用于单页)或 Pocket / Wallabag 等稍后阅读工具(只保存文本)。
- 需要保留交互(如在线文档):使用 wget 配合
-p参数,并在本地搭建一个简易 HTTP 服务器来运行(某些 JS 资源需要同源策略)。
强烈建议先测试小范围(比如只抓取 /docs/ 路径下的内容),确定效果满意后再抓取全站,避免浪费时间和网络资源。
标签: 网站抓取
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。