网普技术论坛 网普科技  
» 游客:   网普主页 | 注册 | 登录 | 帮助
 

作者:
标题: wget——Linux下Web文件提取工具[ZT] 上一主题 | 下一主题
网普科技
网普管理员

网普科技人民公仆


积分 3080
发贴 2863
注册 2004-6-26
来自 网普科技
状态 离线
#1  wget——Linux下Web文件提取工具[ZT]

本文出自:中国计算机报 作者:王水

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



天理路上甚宽,稍游心,胸中便觉广大宏朗;
人欲路上甚窄,才寄迹,眼前俱是荆棘泥涂。



网普科技,优质美国主机服务!
美国Linux主机,美国虚拟主机
支持PHP+MYSQL+cPanel+EMAIL
为用户负责,拒绝反动、赌博及色情内容! QQ:126818

发送QQ消息
2005-6-2 11:30 AM
查看资料  访问主页  发短消息  QQ   编辑帖子  引用回复 顶部
茱莉娅
THE BODY SHOP美容顾问

茱莉娅美体小铺


积分 3080
发贴 2863
注册 2009-5-21
来自 茱莉娅美体小铺
状态 离线
#1  赞助商信息The body shop

茱莉娅美体小铺
茱莉娅美体小铺淘宝店
茱莉娅美体小铺


茱莉娅美体小铺淘宝店
2005-6-2 11:30 AM
查看资料  访问主页  发短消息  QQ   编辑帖子  引用回复 顶部


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转:  




Powered by Discuz! 2.5 © 2001-2005 Comsenz Technology Ltd.
Processed in 0.009440 second(s), 7 queries, Gzip enabled
------------------------------------------------------------------------------
本论坛属网普科技交流与技术支持论坛!
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论!
美国主机, 美国虚拟主机, cPanel+PHP+Mysql+Ftp+Email+Zend+GD2+国际域名支持
技术支持 QQ: 126818 EMail & MSN: support[AT]netpu.net
[ 联系我们 ] - [ 网普科技 ]