实战

wget https://example.com/file.zip
wget -O newname.zip https://example.com/file.zip      # 改名存
wget -c https://example.com/big.iso                   # ★ 断点续传
wget -q https://example.com/file.zip                  # 安静
wget -b https://example.com/big.iso                   # 后台下载

常用参数

参数 含义
-O FILE 输出文件名
-c 断点续传
-q 安静
-b 后台
-v verbose
--limit-rate=KBPS 限速
-i FILE 从文件读 URL 列表
--retry N 失败重试 N 次
--timeout=N 超时 N 秒
--no-check-certificate 跳过证书校验
-r 递归(爬整站)
-l N 递归深度
--no-parent 不爬到上级
--mirror 整站镜像(=-r -l inf --no-clobber)
-A "*.pdf" 只下匹配的
-R "*.html" 排除匹配的

实战

批量下载

wget -i urls.txt                                # urls.txt 一行一个 URL
wget -i urls.txt --limit-rate=200k              # 限速

整站镜像

wget --mirror --convert-links --adjust-extension --page-requisites \
     --no-parent https://example.com/docs/
  • --convert-links:把链接改成本地
  • --adjust-extension:自动加 .html
  • --page-requisites:连同 CSS / JS / 图片
  • --no-parent:不爬到上级目录

只下某类文件

wget -r -l 2 -A "*.pdf" https://example.com/papers/

重试 / 超时

wget --tries=10 --timeout=30 https://example.com/big.iso

wget vs curl

特性 wget curl
主业 文件下载 通用 HTTP 客户端
断点续传 -c -C -
递归 -r
API 调试 ★★★★★
默认装 多数 Linux 几乎所有 Unix
简单下载 命令更短 命令稍长

下载用 wget,调 API 用 curl

现代替代:aria2

sudo apt install aria2
aria2c https://example.com/file.iso              # 多线程下载
aria2c -i urls.txt -j 5                          # 并行 5 个

aria2 支持多线程 / 多源 / BitTorrent / Metalink——大文件比 wget 快。

  • wget 默认会跟随重定向(和 curl 不同)
  • 断点续传 -c完整 / 部分文件都安全——直接用
  • 整站镜像要遵守 robots.txt 和对方网站规则