荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: jdli (无敌), 信区: Linux
标  题: wget——Linux下Web文件提取工具(转寄)
发信站: BBS 荔园晨风站 (Fri Dec 10 13:26:48 1999), 转信

【 以下文字转载自 jdli 的信箱 】
【 原文由 zhuzutao.bbs@bbs.net.tsinghua.edu.cn 所发表 】
发信人: sanware (青山依旧在), 信区: Linux
标  题: wget——Linux下Web文件提取工具(转寄)
发信站: BBS 水木清华站 (Sat Dec  4 15:52:10 1999)

wget是一个Linux环境下用于从World Wide Web上提取文件的工具,这是一个GPL许可证
下的自由软件,其作者为Hrvoje Niksic <hniksic@srce.hr>。wget支持HTTP和FTP协议
,支持代理服务器和断点续传功能,能够自动递归远程主机的目录,找到合乎条件的文
件并将其下载到本地硬盘上;如果必要,wget将恰当地转换页面中的超级连接以在本地
生成可浏览的镜像。由于没有交互式界面,wget可在后台运行,截获并忽略HANGUP信号
,因此在用户推出登录以后,仍可继续运行。通常,wget用于成批量地下载Internet网
站上的文件,或制作远程网站的镜像。

语法:

    wget [options] [URL-list]
URL地址格式说明:可以使用如下格式的URL:
    http://host[:port]/path
例如:
    http://fly.cc.fer.hr/
    ftp://ftp.xemacs.org/pub/xemacs/xemacs-19.14.tar.gz
    ftp://username:password@host/dir/file
在最后一种形式中,以URL编码形式为FTP主机提供了用户名和密码(当然,也可以使用
参数提供该信息,见后)。

参数说明:

wget的参数较多,但大部分应用只需要如下几个常用的参数:
    -r    递归;对于HTTP主机,wget首先下载URL指定的文件,然后(如果该文件是
一个HTML文档的话)递归下载该文件所引用(超级连接)的所有文件(递归深度由参数
-l指定)。对FTP主机,该参数意味着要下载URL指定的目录中的所有文件,递归方法与
HTTP主机类似。

    -N    时间戳:该参数指定wget只下载更新的文件,也就是说,与本地目录中的对
应文件的长度和最后修改日期一样的文件将不被下载。

    -m    镜像:相当于同时使用-r和-N参数。

    -l    设置递归级数;默认为5。-l1相当于不递归;-l0为无穷递归;注意,当递
归深度增加时,文件数量将呈指数级增长。

    -t     设置重试次数。当连接中断(或超时)时,wget将试图重新连接。如果指
定-t0,则重试次数设为无穷多。

    -c    指定断点续传功能。实际上,wget默认具有断点续传功能,只有当你使用别
的ftp工具下载了某一文件的一部分,并希望wget接着完成此工作的时候,才需要指定
此参数。

使用举例:
    wget -m -l4 -t0 http://oneweb.com.cn/
将在本地硬盘建立http://oneweb.com.cn/的镜像,镜像文件存入当前目录下一个名为
oneweb.com.cn的子目录中(你也可以使用-nH参数指定不建立该子目录,而直接在当前
目录下建立镜像的目录结构),递归深度为4,重试次数为无穷(若连接出现问题,
wget将坚韧不拔地永远重试下去,知道任务完成!)

另外一些使用频率稍低的参数如下:
    -A acclist / -R rejlist:
这两个参数用于指定wget接受或排除的文件扩展名,多个名称之间用逗号隔开。例如,
假设我们不想下载MPEG视频影像文件和.AU声音文件,可使用如下参数:
    -R mpg,mpeg,au

其它参数还有:
    -L     只扩展相对连接,该参数对于抓取指定站点很有用,可以避免向宿主主机
的其他目录扩散。例如,某个人网站地址为:http://www.xys.org/~ppfl/,使用如下
命令行:
    wget -L http://www.xys.org/~ppfl/
    则只提取该个人网站,而不涉及主机www.xys.org上的其他目录。

    -k    转换连接:HTML文件存盘时,将其中的非相对连接转换成为相对连接。

    -X    在下载FTP主机上的文件时,排除若干指定的目录

另外,下面参数用于设置wget的工作界面:
    -v    设置wget输出详细的工作信息。
    -q    设置wget不输出任何信息。

如果我们已经在一个HTML文档(或普通文本文档)中存储了所要提取的文件的连接,可
以让wget直接从该文件中提取信息,而不用在命令行中提供URL地址,参数格式为:
    -i filename
地址文件也可以不是HTML文档,例如,一个普通的文本文件,其中有需要下载的URL列
表即可。
我们可以用以下技巧提高下载速度:由于Linux是一个多任务系统,我们可以同时运行
多个wget进程以提高下载速度,例如,先下载某主页文件(index.html),然后将该文
件所列出的所有地址分别用一个独立的wget进程进行下载。

至于其他的参数,可参考wget的man手册页,命令为:
    man wget


本文已在中国计算机报上发表,不得以任何形式转载。

--
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 202.115.4.250]
--
※ 转载:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.1.143]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店