mac终端用wget下载整个网站需先安装wget:若which wget无输出则执行xcode-select --install、homebrew安装及brew install wget;再用wget -r -np -k -l -p -e -nh --restrict-file-names=unix url实现完整镜像。

在Mac终端中用wget下载整个网站,需先确保wget已安装并启用递归模式;未安装wget时直接运行命令会报错“command not found”,必须先通过Homebrew补全工具链。
确认wget是否可用
打开终端,输入:
which wget
若返回空行或提示 command not found,则说明尚未安装wget,【必须先完成安装才能执行后续递归下载】。若返回路径(如 /opt/homebrew/bin/wget),继续运行:
wget --version
确认输出版本号 ≥ 1.21 —— 旧版本(如 1.19)对 HTTPS 重定向和现代 TLS 握手支持不稳定,可能导致下载中断或漏页。
安装wget(仅当缺失时执行)
执行以下三步一次性完成安装:
① 安装Xcode命令行工具(必要依赖):
xcode-select --install → 按弹窗提示完成安装
② 安装Homebrew(若未安装):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
③ 安装wget:
brew install wget
这一步完成后,终端将自动把wget加入PATH,无需手动配置环境变量。如果执行 brew install wget 报错 Permission denied,说明当前用户不是 /opt/homebrew 目录所有者,需先运行 sudo chown -R $(whoami) /opt/homebrew。
下载整个网站(含子目录与资源)
方法一:基础镜像(推荐新手)
wget -r -np -k -L -p -E -nH --restrict-file-names=unix http://example.com/
其中 -r 启用递归,-np 阻止向上跳转到父目录,-k 重写链接为本地可离线浏览格式,-L 跟随HTTP重定向,-p 下载页面所需全部资源(图片/CSS/JS),-E 自动添加 .html 扩展名(避免无后缀文件无法双击打开),-nH 禁止创建以主机名命名的顶层文件夹。
方法二:限制深度+排除冗余文件
wget -r --level=3 -np -R "index.html,*.pdf,*.zip" -k -L -p http://example.com/docs/
--level=3 表示最多抓取3层子目录,-R 后接逗号分隔的文件模式,用于跳过不想要的大文件或索引页,防止浪费空间和时间。注意:-R 不加引号时 shell 会提前展开通配符,导致参数失效。
方法三:后台静默下载(适合大站)
wget -b -r -np -k -L -p --user-agent="Mozilla/5.0" http://example.com/
-b 将任务转入后台,终端立即释放,下载日志自动写入 wget-log 文件。加上 --user-agent 可绕过部分网站对爬虫的拦截,否则可能返回403错误或空内容。











