博客 / Linux/ 使用 wget 命令批量下载网站目录文件:完整指南与示例

使用 wget 命令批量下载网站目录文件:完整指南与示例

使用 wget 命令批量下载网站目录文件:完整指南与示例

使用 wget 命令批量下载网站目录文件

在 Linux 或 macOS 系统中,wget 是一个功能强大的命令行下载工具,支持递归下载、断点续传、批量下载等多种功能。本文将介绍如何使用 wget 命令批量下载网站指定目录下的文件。

基本批量下载命令

要批量下载 http://demo.abc.com/path/to/file/ 目录下的所有文件,可以使用以下命令:

wget -nd -r -l1 --no-parent http://demo.abc.com/path/to/file/

参数说明:

  • -nd:不创建目录结构,所有文件下载到当前目录。
  • -r:递归下载。
  • -l1:递归深度为 1,即只下载当前目录下的文件,不进入子目录。
  • --no-parent:不下载父目录中的文件。

按文件后缀名筛选下载

如果你只想下载特定类型的文件,例如该目录下的所有 .jpg.bmp 图片,可以使用 -A 参数指定接受的文件模式:

wget -nd -r -l1 --no-parent -A.jpg -A.bmp http://demo.abc.com/path/to/file/

注意:-A 参数可以多次使用,也可以使用逗号分隔多个模式,如 -A.jpg,.bmp

高级下载选项与排除规则

以下命令演示了更复杂的场景:下载网站目录下除 .html 文件外的所有内容,并忽略 robots.txt 限制:

wget -c -r -np -k -L --reject=html http://demo.abc.com/path/to/file/ -e robots=off

参数说明:

  • -c:断点续传。
  • -np:等同于 --no-parent
  • -k:转换链接,使下载的 HTML 文件中的链接指向本地文件。
  • -L:跟随相对链接。
  • --reject=html:拒绝下载 .html 文件。
  • -e robots=off:忽略网站的 robots.txt 规则(请谨慎使用,尊重网站规则)。

注意事项与说明

  1. 尊重版权与使用条款:批量下载前,请确保你有权下载和使用目标文件,并遵守网站的 robots.txt 协议和服务条款。
  2. 伪静态路径:如果目标网站使用了 URL 重写(伪静态),wget 可能无法正确解析文件路径。在这种情况下,建议先检查网站的实际文件结构,或尝试使用 --spider 参数测试链接有效性。
  3. 网络负载:批量下载会对目标服务器造成负载,请合理控制并发和下载速度,避免对目标网站造成影响。

通过灵活组合 wget 的参数,你可以高效地完成各种批量下载任务。建议在实际操作前,先使用 --dry-run 参数进行模拟运行,以确认命令行为符合预期。

发表评论

您的邮箱不会公开。必填项已用 * 标注。