> 网络管理 > wget

wget (递归下载): 复制整个网站

wget 的递归下载功能用于将整个网站复制到本地,或在保持特定目录结构的同时下载文件。这对于镜像网站、离线浏览、收集特定类型的文件等非常有用。通过 `-r` 选项启用递归下载,并可以使用各种选项来控制下载深度、文件类型和链接转换等。

概述

wget 是一个非交互式的网络下载器,使用 HTTP、HTTPS 和 FTP 协议从 Web 服务器下载文件。特别是其递归下载功能,可以复制整个或部分网站到本地,以便离线访问,或批量收集特定类型的文件,是一个强大的工具。

主要特点

  • 网站整体镜像和离线浏览
  • 保持指定深度的目录结构
  • 仅选择性下载特定文件类型
  • 下载后自动将链接转换为本地文件路径
  • 支持中断的下载续传功能

主要选项

与递归下载相关的主要选项。

递归下载控制

下载过滤与行为

生成的命令:

请尝试组合命令。

描述:

`wget` 执行命令。

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

使用示例

使用 wget 递归下载功能的各种场景。

基本递归下载

wget -r http://example.com/docs/

从指定的 URL 开始,跟随所有子链接下载文件。

镜像整个网站

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

将网站完整地镜像到本地。转换链接为本地路径,下载页面所需的所有元素,并使用时间戳仅下载更新的文件。

下载到特定深度

wget -r -l 2 http://example.com/blog/

将递归深度限制为 2,仅跟随起始 URL 下的 2 级子链接。

下载 HTML 及相关文件(用于离线查看)

wget -r -p -k http://example.com/article.html

下载指定的 HTML 页面及其正确显示所需的所有文件(图片、CSS、JS 等),并将链接转换为本地路径。

仅下载特定扩展名的文件

wget -r -A "*.pdf,*.doc" http://example.com/documents/

递归下载指定目录下的 PDF 和 DOC 文件。

设置 User-Agent 并忽略 robots.txt

wget -r -U "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36" -e robots=off http://example.com/

设置 User-Agent 并忽略 robots.txt 文件,以访问所有内容。(请谨慎使用)

限制下载速率并设置等待时间

wget -r --limit-rate=200k --wait=5 http://example.com/

将下载速率限制为 200KB/s,并在每次请求之间等待 5 秒,以减轻服务器负担。

提示与注意事项

wget 的递归下载功能非常强大,但请注意,它可能会给服务器带来过大负载或下载不必要的数据,请谨慎使用。

主要提示

  • **防止服务器过载**:使用 `--wait` 选项在请求之间设置延迟,避免给服务器造成过大负担。也可以使用 `--random-wait` 选项设置随机等待时间。
  • **遵守 `robots.txt`**:默认情况下,`wget` 会遵守 `robots.txt` 文件。除非有特殊原因,否则建议避免使用 `-e robots=off` 选项。请查阅网站的政策。
  • **设置 User-Agent**:某些网站可能会阻止特定的 User-Agent 或提供不同的内容。使用 `--user-agent` 选项设置一个通用的浏览器 User-Agent 可能有助于访问。
  • **限制下载深度**:使用 `-l` 选项限制递归深度,可以防止下载不必要的子页面,避免磁盘空间浪费。
  • **证书警告**:`--no-check-certificate` 选项会禁用 SSL/TLS 证书的有效性检查,存在安全风险。不建议在不受信任的网站上使用。
  • **续传下载**:使用 `-c` 或 `--continue` 选项可以恢复之前中断的下载。这对于下载大文件或在网络不稳定的环境中非常有用。

相同类别命令