GNU Wget ,一个非交谈式的网路抓档工具.
用法: wget [选项]… [URL]…
命令的引数使用长项目与短项目相同.
启动:
-V, –version显示Wget的版本并且离开.
-h, –help显示这个说明档.
-b, -background在启动之後跳到背景去.
-e, -execute=COMMAND执行一个`.wgetrc’里面的COMMAND指令.
纪录档与输入的档案:
-o, –output-file=FILE纪录讯息到FILE去.
-a, -append-output=FILE增加讯息到FILE去.
-d, –debug显示除错的输出.
-q, –quiet安静模式(不输入任何讯息).
-v, –verbose冗长模式(这是内定值).
-nv, –non-verbose关闭verboseness,但不是安静模式.
-i, –input-file=FILE从FILE读取URL .
-F, –force-html把输入的档案当作HTML.
下载:
-t, –tries=NUMBER设定重复尝试NUMBER次(0是无限制).
-O –output-document=FILE把文件写到FILE里.
-nc, –no-clobber不破坏已经存在的档案.
-c, –continue重新取得一个已经存在的档案.
–dot-style=STYLE设定取回状况的显示风格.
-N, –timestamping不取回比本地旧的档案.
-S, –server-response显示伺服器回应状况.
–spider不下载任何东西.
-T, –timeout=SECONDS设定读取时超过的时间为SECONDS秒.
-w, –wait=SECONDS在取回档案时等待SECONDS秒.
-Y, –proxy=on/off开启或关闭Proxy.
-Q, –quota=NUMBER设定取回档案的定额限制为NUMBER个.
目录:
-nd –no-directories不建立目录.
-x, –force-directories强制进行目录建立的工作.
-nH, –no-host-directories不建立主机的目录.
-P, –directory-prefix=PREFIX把档案存到PREFIX/…
–cut-dirs=NUMBER忽略NUMBER个远端的目录元件.
HTTP选项:
–http-user=USER设http使用者为USER.
–http0passwd=PASS设http使用者的密码为PASS.
-C, –cache=on/off提供/关闭快取伺服器资料(正常情况为提供).
–ignore-length忽略`Content-Length’标头栏位.
–proxy-user=USER设USER为Proxy使用者名称.
–proxy-passwd=PASS设PASS为Proxy密码.
-s, –save-headers储存HTTP标头成为档案.
-U, –user-agent=AGENT使用AGENT取代Wget/VERSION作为识别代号.
FTP选项:
–retr-symlinks取回FTP的象徵连结.
-g, –glob=on/off turn file name globbing on ot off.
–passive-ftp使用”passive”传输模式.
使用递回方式的取回:
-r, –recursive像是吸入web的取回–请小心使用!.
-l, –level=NUMBER递回层次的最大值(0不限制).
–delete-after删除下载完毕的档案.
-k, –convert-links改变没有关连的连结成为有关连.
-m, –mirror开启适合用来映射的选项.
-nr, –dont-remove-listing不要移除`.listing’档.
递回式作业的允许与拒绝选项:
-A, –accept=LIST允许的扩充项目的列表.
-R, –reject=LIST拒绝的扩充项目的列表.
-D, –domains=LIST允许的网域列表.
–exclude-domains=LIST拒绝的网域列表(使用逗号来分隔).
-L, –relative只跟随关联连结前进.
–follow-ftp跟随HTML文件里面的FTP连结.
-H, –span-hosts当开始递回时便到外面的主机.
-I, –include-directories=LIST允许的目录列表.
-X, –exclude-directories=LIST排除的目录列表.
-nh, –no-host-lookup不透过DNS查寻主机.
-np, –no-parent不追朔到起源目录.
范例一:mirror一个网站
wget -r
范例二:mirror一个网站下的某个目录:
wget -r
——————————————————————
语法:
wget [options] [URL-list]
URL地址格式说明:可以使用如下格式的URL:
[ort]/path
例如:
;
;
assword@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 ;
将在本地硬盘建立 的镜像,镜像文件存入当前目录下一个名为
oneweb.com.cn的子目录中(你也可以使用-nH参数指定不建立该子目录,而直接在当前
目录下建立镜像的目录结构),递归深度为4,重试次数为无穷(若连接出现问题,
wget将坚韧不拔地永远重试下去,直到任务完成!)
另外一些使用频率稍低的参数如下:
-A acclist / -R rejlist:
这两个参数用于指定wget接受或排除的文件扩展名,多个名称之间用逗号隔开。例如,
假设我们不想下载MPEG视频影像文件和.AU声音文件,可使用如下参数:
-R mpg,mpeg,au
其它参数还有:
-L 只扩展相对连接,该参数对于抓取指定站点很有用,可以避免向宿主主机
的其他目录扩散。例如,某个人网站地址为:,使用
如下命令行:
wget -L ;
则只提取该个人网站,而不涉及主机上的其他目录。
-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
后注:
wget如何可靠下载整个ftp目录
wget -t 0 -T 120 -np -c -r
其中“np”表示不跟随链接,只下载指定目录及子目录里的东西;
-c 表示启动断点续传,其实下目录及子目录有-r就可以搞定