linux - 使用wget下载网站
GNU Wget 是一个免费的实用程序,用于从 Web 非交互式下载文件。它支持 HTTP、HTTPS 和 FTP 协议,以及通过 HTTP 代理进行检索。
wget的特点:
- 支持递归下载
- 恰当地转换页面中的连接
- 生成可在本地浏览的页面镜像
- 支持代理服务器
1. 基本使用
-
下载某个url
wget http://fly.srk.fer.hr/
-
设置下载失败尝试次数
wget -t 45 http://fly.srk.fer.hr/jpg/flyweb.jpg
-
将下载过程记录到日志,并使其在后台运行
wget -o log http://fly.srk.fer.hr/jpg/flyweb.jpg &
-
从ftp下载文件
下载文件:wget ftp://gnjilux.srk.fer.hr/welcome.msg
列出目录内容:wget ftp://ftp.gnu.org/pub/gnu/
2. 高级用法
-
从文件中读取url并下载
wget -i file
-
创建一个5层深度镜像的gnu网站, 将创建过程保存在日志中
wget -r https://www.gnu.org/ -o gnulog
-
创建网站镜像并且将下载文件中的链接保存为本地文件,方便离线浏览网站
wget --convert-links -r https://www.gnu.org/ -o gnulog
-
单独下载某一个网页,并使其相关的资源也下载到本地
wget -p --convert-links http://www.example.com/dir/page.html
-
单独下载一个网页,并将其下载到指定的目录,而不使用远程地址的目录
wget -p --convert-links -nH -nd -P download http://www.example.com/dir/page.html
-
获取网站的首页,并显示服务器相应头
wget -S http://www.lycos.com/
-
获取网站首页相应头并且保存到文件
wget --save-headers http://www.lycos.com/
-
获取前两层网站内容,并保存到 /tmp 目录
wget -r -l2 -P/tmp ftp://wuarchive.wustl.edu/
-
下载某一个目录下的所有gif 文件
wget -r -l1 --no-parent -A.gif http://www.example.com/dir/
-
下载中断后,重新下载不破坏已下载文件
wget -nc -r https://www.gnu.org/
-
将下载的文件,输出到标准输出而非保存到文件
wget -O - http://www.example.com/dir/page.html
-
从下载的标准输出中读入url信息并将下载文件视为html文档,并继续下载其中的url地址
wget -O - http://cool.list.com/ | wget --force-html -i -
3. 更高级用法
-
镜像一个网站,将其可以加入cron计划中定时进行更新下载
wget --mirror https://www.gnu.org/ -o /home/me/weeklog -
镜像网站时,对有时间戳无法正常转换的原始html文件进行备份保存
wget --mirror --convert-links --backup-converted https://www.gnu.org/ -o /home/me/weeklog -
将下载的非html文件,进行重命名为html文件
wget --mirror --convert-links --backup-converted \
--html-extension -o /home/me/weeklog https://www.gnu.org/
简写形式:
wget -m -k -K -E https://www.gnu.org/ -o /home/me/weeklog
参考:https://www.gnu.org/software/wget/manual/html_node/Simple-Usage.html#Simple-Usage