概述
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` 选项将日志保存到文件中以供后续审查。