> 网络管理 > wget

wget: 镜像网站并离线保存

wget 是一个强大的命令行工具,用于通过 HTTP、HTTPS 和 FTP 协议从 Web 服务器下载文件或整个网站。特别是 `-m` (mirror) 选项,可以将整个网站镜像到本地,以便离线浏览。这在备份网站、归档或需要在没有互联网连接的情况下查看内容时非常有用。

概述

wget 的 `-m` 选项会递归下载网站的所有页面和必需资源(如图片、CSS、JavaScript 等),并保持本地目录结构。它还会将下载文件内的链接转换为本地文件路径,以便离线浏览时也能顺畅访问。

主要特点

使用 wget -m 进行网站镜像的核心功能。

  • 递归下载整个网站
  • 自动转换链接以支持离线浏览
  • 支持下载进度显示和断点续传
  • 默认遵守 robots.txt 协议

主要选项

在镜像网站时常用的 wget 选项。

镜像与递归下载

文件处理与链接转换

下载控制

生成的命令:

请尝试组合命令。

描述:

`wget` 执行命令。

通过组合这些选项,您可以与 AI 一起虚拟地执行命令。

使用示例

使用 wget -m 进行网站镜像的实际示例。

基本网站镜像

wget -m https://example.com

将指定 URL 的网站镜像到本地。

包含所有资源并转换链接

wget -m -p -k https://example.com

下载 HTML 页面所需的所有资源(图片、CSS 等),并将链接转换为本地路径。

下载间隔 5 秒

wget -m -w 5 https://example.com

在每次请求之间等待 5 秒,以避免对服务器造成过大负载。

镜像到特定目录

wget -m -P /var/www/offline_site https://example.com

将下载的网站保存到指定的本地目录(`/var/www/offline_site`)。

指定最大递归深度

wget -m -l 2 https://example.com

镜像网站,但仅从起始 URL 下载最多 2 层深度。

提示与注意事项

使用 wget -m 时,请注意不要对 Web 服务器造成过大负载,并确保有足够的存储空间。

性能与道德考量

在镜像网站时需要考虑的重要事项。

  • **服务器负载**:使用 `-w` (wait) 选项在请求之间设置延迟,以减轻目标服务器的负担非常重要。过短的间隔可能导致服务器被屏蔽。
  • **存储空间**:镜像大型网站可能需要大量磁盘空间,因此请提前检查并确保有足够的可用空间。
  • **遵守 `robots.txt`**:`wget` 默认遵守网站的 `robots.txt` 文件。要忽略它,可以使用 `-e robots=off` 选项,但这可能违反网站的政策,请谨慎使用。
  • **用户代理**:建议使用 `-U` (user-agent) 选项设置用户代理,以便服务器识别请求。默认的 `wget` 用户代理可能会被某些服务器屏蔽。
  • **检查日志**:`wget` 会在终端输出下载进度和错误信息,您也可以使用 `-o logfile.txt` 选项将日志保存到文件中以供后续审查。

相同类别命令