wget
是Linux
下载文件使用,也可以用来同步web
和ftp
,使用wget
下载整个网站内容。
web 站点同步
wget -m -r -linf -k -p -q -E -e robots=off http://127.0.0.1
wget -mpk http://127.0.0.1
web image
下载一个站点的所有图片:
wget -r -l inf -A .png,.jpg,.jpeg,.gif -nd https://xiexianbin.cn
FTP download
wget --ftp-user=User --ftp-password=Mir URL
post
wget -q -O - --header="Content-Type:application/json" --post-file=foo.json http://127.0.0.1
示例
同步 nginx rpm
#!/bin/bash
yum_site="http://nginx.org/packages/centos/7/x86_64/"
dest_dir=$(cd $(dirname $0); pwd)
wget -m -c -N -np -nH --cut-dirs=1 --reject=html $yum_site -P $dest_dir
下载网站
需求说明
需要下载某个目录下面的所有文件。
参数说明
wget -c -r -np -k -L -p https://docs.xiexianbin.cn/<path>/
参数说明:
- -c 断点续传
- -r 递归下载,下载指定网页某一目录下(包括子目录)的所有文件
- -nd 递归下载时不创建一层一层的目录,把所有的文件下载到当前目录
- -np 递归下载时不搜索上层目录,如
wget -c -r https://docs.xiexianbin.cn/<path>/
;没有加参数-np,就会同时下载path的上一级目录pub下的其它文件
- -k 将绝对链接转为相对链接,下载整个站点后脱机浏览网页,最好加上这个参数
- -L 递归时不进入其它主机,如
wget -c -r https://docs.xiexianbin.cn/<path>/
- 如果网站内有一个这样的链接:
www.xiexianbin.cn
,不加参数-L,就会像大火烧山一样,会递归下载www.xiexianbin.cn
网站
- -p 下载网页所需的所有文件,如图片等
- -A 指定要下载的文件样式列表,多个样式用逗号分隔
- -i 后面跟一个文件,文件内指明要下载的URL
- 在下载时,有用到外部域名的图片或连接。如果需要同时下载就要用
-H
参数。