您的位置:首页 > 运维架构 > Linux

linux下常用网页查看下载工具--wget

2017-01-08 13:14 447 查看
http://www.linuxidc.com/Linux/2015-06/118256.htm

5 个基于Linux命令行的文件下载和网站浏览工具

rTorrent
wget
cURL
w3m
Elinks
等几个有用的工具及其用法

http://www.linuxidc.com/Linux/2015-06/118964.htm

links,links2, lynx,youtubedl,fetch,axel,aria2工具及其用法

wget特性

这里介绍下常用的wget,及其常用命令。

wget是非交互的网络下载器。通过manpage,主要特性如下:

1. 支持http,https, ftp以及http代理。对安全强度很高的系统而言,一般不会将自己的系统直接暴露在互联网上,所以,支持代理是下载软件必须有的功能

2. 非交互。

3. 可识别(follow)html,xhtml,和css链接,递归下载。

4. 健壮性,支持断点下载。

wget使用

1、下载整个http或者ftp站点。
wget http://www.6688.cc 这个命令可以将http://www.6688.cc 首页下载下来。使用-x会强制建立服务器上一模一样的目录,如果使用-nd参数,那么服务器上下载的所有内容都会加到本地当前目录。

wget -r http://www.6688.cc 这个命令会按照递归的方法,下载服务器上所有的目录和文件,实质就是下载整个网站。
这个命令一定要小心使用,因为在下载的时候,被下载网站指向的所有地址同样会被下载,因此,如果这个网站引用了其他网站,那么被引用的网站也会被下载下
来!基于这个原因,这个参数不常用。可以用-l number参数来指定下载的层次。例如只下载两层,那么使用-l 2。

wget -r -np -nd http://example.com/packages/ 这条命令可以下载 http://example.com 网站上 packages 目录中的所有文件。其中,-np 的作用是不遍历父目录,-nd 表示不在本机重新创建目录结构。

wget -r -np -nd -k http://example.com/packages/ -k指定将下载文件中的链接改成本地的。

要是您想制作镜像站点,那么可以使用-m参数,例如:wget -m http://www.6688.cc 这时wget会自动判断合适的参数来制作镜像站点。此时,wget会登录到服务器上,读入robots.txt并按robots.txt的规定来执行。

wget -m -k (-H) http://www.example.com/ 该命令可用来镜像一个网站,wget 将对链接进行转换。如果网站中的图像是放在另外的站点,那么可以使用 -H 选项(跨越站点)。

-m,--mirror,本质是递归下载。Turn on options suitable for mirroring. This option turns on recursion and time-stamping, sets infinite recursion depth and keeps FTP directory listings.

It is currently equivalent to -r -N -l inf --no-remove-listing.

2、断点续传。
当文件特别大或者网络特别慢的时候,往往一个文件还没有下载完,连接就已经被切断,此时就需要断点续传。wget的断点续传是自动的,只需要使用-c参数,例如:
wget -c http://www.baidu.org.tw 使用断点续传要求服务器支持断点续传。-t参数表示重试次数,例如需要重试100次,那么就写-t 100,如果设成-t 0,那么表示无穷次重试,直到连接成功。-T参数表示超时等待时间,例如-T 120,表示等待120秒连接不上就算超时。

3、批量下载。
如果有多个文件需要下载,那么可以生成一个文件,把每个文件的URL写一行,例如生成文件download.txt,然后用命令:wget -i download.txt
这样就会把download.txt里面列出的每个URL都下载下来。(如果列的是文件就下载文件,如果列的是网站,那么下载首页)

4、选择性的下载。
可以指定让wget只下载一类文件,或者不下载什么文件。例如:
wget -m --reject=gif http://target.web.site/subdirectory 表示下载http://target.web.site/subdirectory,但是忽略gif文件。--accept=LIST 可以接受的文件类型,--reject=LIST拒绝接受的文件类型。

wget -r -np -nd --accept=iso http://example.com/ href="http://www.linuxidc.com/topicnews.aspx?tid=14" target=_blank>CentOS-5/i386/
指示 wget 仅下载 i386 目录中所有扩展名为 iso 的文件。你也可以指定多个扩展名,只需用逗号分隔即可。

5、密码和认证。
wget只能处理利用用户名/密码方式限制访问的网站,可以利用两个参数:
--http-user=USER设置HTTP用户
--http-passwd=PASS设置HTTP密码
对于需要证书做认证的网站,就只能利用其他下载工具了,例如curl。

另外一种指定用户名和密码的方式是在URL中。任一方法都将你的密码暴漏给了那些运行“ps”命令的人。

要防止密码被查看到,将它们存储到.wgetrc或.netrc中,并使用“chmod”设置合 适的权限来保护这些文件不让其他用户查看到。

如果密码真的很重要,不要在它们还在文件里躺着的时候走开,在Wget开始下载后,编辑该文件,或者删除它们。

6、利用代理服务器进行下载。
如果用户的网络需要经过代理服务器,那么可以让wget通过代理服务器进行文件的下载。此时需要在当前用户的目录下创建一个.wgetrc文件。文件中可以设置代理服务器:
http-proxy = 111.111.111.111:8080
ftp-proxy = 111.111.111.111:8080
分别表示http的代理服务器和ftp的代理服务器。如果代理服务器需要密码则使用:
--proxy-user=USER设置代理用户
--proxy-passwd=PASS设置代理密码
这两个参数。
使用参数--proxy=on/off 使用或者关闭代理。

7. 下载速度限制

默认情况下,wget命令尝试以全速下载,但是有时候你可能使用的是共享互联网,那么如果你尝试使用wget来下载庞大的文件时,就会把其它用户的网络拖慢。

这时,你如果使用‘--limit-rate’选项来限制下载速率,就可以避免这种情况的发生。

wget --limit-rate=100k http://mirror.nbrc.ac.in/centos/7.0.1406/isos/x86_64/CentOS-7.0-1406-x86_64-DVD.iso
在上例中,下载速率被限制到了100k。

8. 下载大小限制

‘-Q’选项强制wget命令在下载大小超过特定大小时退出下载。

wget -Q10m -i download-list.txt

注意,配额不会对单个文件的下载产生影响。所以,如果你指定wget -Q10m ftp://wuarchive.wustl.edu/ls-lR.gz,ls-lR.gz 的全部内容都会被下载。

这在下载命令行指定的多个URL时也一样。然而,在递归或从一个输入文件检索时,还是值得一用。因此,你可以安全地输入‘wget -Q10m -i download-list.txt’,在超过配额时,下载会退出。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: