1.语法
1.1.选项
选项 | 默认值 |
备注
|
---|---|---|
-4 --inet4-only -6 --inet6-only |
选择网络层协议 | |
-a logfile |
输出追加到文件 | |
-A -R |
指定接受的文件 / 拒绝的文件。 支持模式匹配,*, ?, [ or ]。 |
|
-b |
后台执行 | |
-B URL --base=URL |
使用相对路径的基 | |
-c --continue |
继续未完成的下载 | |
-e command | 执行命令 | |
-E --adjust-extension |
URL末尾不匹配‘\.[Hh][Tt][Mm][Ll]?’时,自动添加扩展名。 | |
-k --convert-links |
扩展链接可用,包括超链接、嵌入的图片、样式表、非html的超链接内容。 | |
-l depth --level=depth |
5 | 递归检索深度(开关量) |
-o logfile --output-file= |
标准错误输出 | 执行过程写到文件(下载日志) |
-O file ① --output-ducument= |
下载文件写到file | |
-p --page-requisi |
下载正确显示所需的文件,图片、声音、样式表等。 | |
-P prefix --directory-prefix=prefix |
输出时的基(目录) | |
-r | 5 | 递归检索(开关) |
-t number --tries=number |
20 |
设定为0,或'inf'代表尝试无限次。 连接决绝时,不尝试。 |
-V | 版本信息 | |
-nd |
不创建目录结构 同名文件、或同一文件多次下载,会备份旧文件。 |
|
-nH | 创建目录时,不创建“域名目录” | |
-x | 命令默认选项 |
创建目录结构 同名文件直接覆盖 |
--config=FILE | .wgetrc | |
--prefer-family=none/IPv4/IPv6 |
哪个有限选择 | |
--user=user --password=password --ftp-user --ftp-password --http-user --http-password |
指定用户名、密码 |
1.2.示例
下载后的文件名
[view@tri tmp]$ wget -q http://sunnybay.blog.51cto.com/2249903/1386234 [view@tri tmp]$ ll -rw-rw-r-- 1 work work 66840 Jul 2 11:23 1386234 下载只有路径不带默认文件名的URL,需要指定文件名①: [view@tri tmp]$ wget http://sunnybay.blog.51cto.com/2249903/1386234 -o o.file -O index.html [view@tri tmp]$ ll -rw-rw-r-- 1 work work 66840 Jul 2 11:12 index.html -rw-rw-r-- 1 work work 562 Jul 2 11:12 o.file [view@tri tmp]$ wget -q http://sunnybay.blog.51cto.com/2249903/1386234/ [view@tri tmp]$ ll -rw-rw-r-- 1 work work 68386 Jul 2 11:37 index.html
目录结构
[view@tri tmp]$ wget -x -q http://sunnybay.blog.51cto.com/ [view@tri tmp]$ ll drwxrwxr-x 2 work work 4096 Jul 2 11:48 sunnybay.blog.51cto.com [view@tri tmp]$ ll sunnybay.blog.51cto.com/ -rw-rw-r-- 1 work work 53192 Jul 2 11:48 index.html 可以在程序中测试 $WGET -P $TMPDIR -nd -q $URL $WGET -P $TMPDIR -x -q $URL
添加扩展名
[view@tri tmp]$ wget -E -q http://sunnybay.blog.51cto.com/2249903/1386234 [view@tri tmp]$ ll total 76 -rw-rw-r-- 1 work work 70331 Jul 2 13:06 1386234.html
下载一个可用的web页
下载了正确显示所需的文件 [view@tri tmp]$ wget -p http://www.gnu.org/software/wget/manual/wget.html [view@tri tmp]$ tree . └── www.gnu.org ├── robots.txt ├── software │ ├── gnulib │ │ └── manual.css │ └── wget │ └── manual │ └── wget.html └── style.css 5 directories, 4 files 举例,当文档1包含图片1、并且链接到文档2;而文档2同样包含图片2、并且链接到文档3…… 下载文件1、文件2的全部相关文件(递归检索深度为2,下载了1.html、1.png、2.html、2.png、 3.html) [view@tri tmp]$ wget -r -l 2 http://site/1.html 深度所限,3.png没有下载,打开文档跳转到3.html时必然无法完全显示。不修改深度,又保全文档 可用,使用选项“-p”就好了。 [view@tri tmp]$ wget -r -l 2 -p http://site/1.html 下载深度为1,保全深度为1时的文件可用。下载了1.html、1.png、2.html,由于使用了选项“-p”, 2.png也被下载。 [view@tri tmp]$ wget -r -l 1 -p 当仅仅需要下载1.html、1.png时,使用如下语句: [view@tri tmp]$ wget -r -l 0 -p http://site/1.html 会发现事与愿违,当深度为零时,表示无限次递归。 下载一个单一可用的1.html、1.png。 [view@tri tmp]$ wget -p http://site/1.html [view@tri gnulib]$ wget -E -H -k -K -p http://www.gnu.org/software/wget/manual/wget.html [view@tri gnulib]$ tree . ├── manual.css ├── manual.css.orig └── www.gnu.org ├── robots.txt ├── software │ ├── gnulib │ │ ├── manual.css │ │ └── manual.css.orig │ └── wget │ └── manual │ ├── wget.html │ └── wget.html.orig ├── style.css └── style.css.orig 5 directories, 9 files [view@tri tmp]$ wget -o log.txt -b -r -l 0 -p http://tomcat.apache.org/tomcat-8.5-doc/index.html
1.3.下载单个网页
下载网页时,网页上的链接、图片、样式等须可用。
下载网页内容,保留原始的目录结构 [root@tri work]# wget -kp http://www.abc.org/software/utils/manual/index.html 不需要原始目录,统一放在当前目录下 [root@tri work]# wget -nd -kp http://www.abc.org/software/utils/manual/index.html
2.下载特定的链接
2.1.获取目录
考虑到目录组织的原因,可能把相关的文件集中放在一起,而需要下载的正好就是某个目录。关于选择目录,wget提供3组选项来处理相应的需求。
选项 | 备注 |
---|---|
-I list --include list include_directories=list |
限定要下载的目录 指定目录,要使用绝对路径,多个目录用逗号分隔。 |
-X list --exclude list exclude_directories=list |
|
-np --no-parent no_parent=on |
示例:
[view@payqa1 ~]$ wget -nH -rpkb -o 4.5.log -I "/4.5/docs" http://vault.centos.org/4.5/docs/ [view@payqa1 ~]$ wget -rpk -I "/tomcat-8.5-doc,/tomcat-8.0-doc" http://tomcat.apache.org
[view@payqa1 ~]$ wget -nh -r -P RPMS/ -A *.rpm http://vault.centos.org/7.2.1511/os/x86_64/Packages/