概述
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` 选项可以恢复之前中断的下载。这对于下载大文件或在网络不稳定的环境中非常有用。