Linux 版 (精华区)
发信人: Sun (大灯泡), 信区: Linux
标 题: wget——Linux下Web文件提取工具
发信站: 哈工大紫丁香 (Sat Sep 4 17:15:22 1999), 转信
王水
wget是一个Linux环境下用于从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
参数说明:
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,重试次数为无穷。
另外一些使用频率稍低的参数如下:
-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
--
〖小糊涂虫2000灌水机〗
--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: sun@hope.hit.edu.cn]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:15.143毫秒