注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

天朝布衣田中码农参上

苦逼码农的点点滴滴,请多多指教!

 
 
 

日志

 
 
 
 

简易好用的下载工具wget  

2017-01-22 09:15:35|  分类: 服务器 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
众所周知,多数Linux发行版本都默认包含这个工具,但其实windows下同样也可以使用wget。windows版本的下载地址:http://downloads.sourceforge.net/gnuwin32/wget-1.11.4-1-setup.exe,下载安装好后, 在path添加下相应的安装路径中的bin目录,就可以在window下面使用wget命令了。
当然先来看看wget的相应参数说明:

* 启动
-V, –
version 显示wget的版本后退出

-h, –help 打印语法帮助

-b, –background 启动后转入后台执行

-e, –execute=COMMAND 执行`.wgetrc'格式的命令


* 记录和输入文件
-o, –
output-file=FILE 把记录写到FILE文件中

-a, –append-output=FILE 把记录追加到FILE文件中

-d, –debug 打印调试输出

-q, –quiet 安静模式(没有输出)

-v, –verbose 冗长模式(这是缺省设置)

-nv, –non-verbose 关掉冗长模式,但不是安静模式

-i, –input-file=FILE 下载在FILE文件中出现的所有URLs

-F, –force-html 把输入文件当作HTML格式文件对待

-B, –base=URL 将URL作为在-F -i参数指定的文件中出现的相对链接的前缀

sslcertfile=FILE 可选客户端证书

sslcertkey=KEYFILE 可选客户端证书的KEYFILE

egd-file=FILE 指定EGD socket的文件名


* 下载
bind-address=ADDRESS 指定本地使用地址(主机名或IP,当本地有多个IP或名字时使用)

-t, –tries=NUMBER 设定最大尝试链接次数(0 表示无限制).

-O –output-document=FILE 把文档写到FILE文件中

-nc, –no-clobber 不要覆盖存在的文件或使用.#前缀

-c, –continue 断点续传

progress=TYPE 设定进程条标记

-N, –timestamping 不要重新下载文件除非比本地文件新

-S, –server-response 打印服务器的回应

spider 模拟爬虫

-T, –timeout=SECONDS 设定响应超时的秒数

-w, –wait=SECONDS 两次尝试之间间隔SECONDS秒

waitretry=SECONDS 在重新链接之间等待1…SECONDS秒

random-wait 在下载之间等待0…2*WAIT秒

-Y, –proxy=on/off 打开或关闭代理

-Q, –quota=NUMBER 设置下载的容量限制

limit-rate=RATE 限定下载输率


* 目录
-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.

http-passwd=PASS 设定http密码为 PASS.

-C, –cache=on/off 允许/不允许服务器端的数据缓存 (一般情况下允许).

-E, –html-extension 将所有text/html文档以.html扩展名保存

ignore-length 忽略 `Content-Length'头域

header=STRING 在headers中插入字符串 STRING

proxy-user=USER 设定代理的用户名为 USER

proxy-passwd=PASS 设定代理的密码为 PASS

referer=URL 在HTTP请求中包含 `Referer: URL'头

-s, –save-headers 保存HTTP头到文件

-U, –user-agent=AGENT 设定代理的名称为 AGENT而不是 Wget/VERSION.

no-http-keep-alive 关闭 HTTP活动链接 (永远链接).

cookies=off 不使用 cookies.

load-cookies=FILE 在开始会话前从文件 FILE中加载cookie

save-cookies=FILE 在会话结束后将 cookies保存到 FILE文件中


* FTP 选项
-nr, –
dont-remove-listing 不移走 `.listing'文件

-g, –glob=on/off 打开或关闭文件名的 globbing机制

-passive-ftp 使用被动传输模式 (缺省值).

active-ftp 使用主动传输模式

retr-symlinks 在递归的时候,将链接指向文件(而不是目录)


* 递归下载
-r, –
recursive 递归下载,下载指定网页某一目录下(包括子目录)的所有文件

-l, –level=NUMBER 最大递归深度 (inf 或 0 代表无穷).

delete-after 在现在完毕后局部删除文件

-k, –convert-links 转换绝对链接为相对链接

-K, –backup-converted 在转换文件X之前,将之备份为 X.orig

-m, –mirror 等价于 -r -N -l inf -nr.

-p, –page-requisites 下载网页所需的所有文件【包括图片等】


* 递归下载中的包含和不包含(accept/reject)
-A, –
accept=LIST 分号分隔的被接受扩展名的列表
-R, –
reject=LIST 分号分隔的不被接受的扩展名的列表
-D, –
domains=LIST 分号分隔的被接受域的列表

exclude-domains=LIST 分号分隔的不被接受的域的列表

follow-ftp 跟踪HTML文档中的FTP链接

follow-tags=LIST 分号分隔的被跟踪的HTML标签的列表

-G, –ignore-tags=LIST 分号分隔的被忽略的HTML标签的列表

-H, –span-hosts 当递归时转到外部主机

-L, –relative 仅仅处理站内链接,不进入其它主机

-I, –include-directories=LIST 允许目录的列表

-X, –exclude-directories=LIST 不被包含目录的列表

-np, –no-parent 递归下载时不搜索上层目录

看起来好象很复杂,其实用起来还是蛮简单的,下面略举一些简单例子:
1)最简单的使用,也是大家平常使用最多的。

wget http://www.593668.com/

2)需要下载某个目录下面的所有文件。

wget -c -r -np -k -L -p www.593668.com/1/

3) 有用到外部域名的图片或连接,如果需要同时下载就要用-H参数。

wget -np -nH -r --span-hosts www.593668.com/cat-1.html

4)做站点镜像。

wget -r -p -np -k http://www.593668.com/

5)续传文件。

wget -t 0 -w 31 -c http://www.593668.com/girl.avi -o down.log &

6)使用代理下载,代理要在环境变量或wgetrc文件中先设定。

wget -Y on -p -k http://www.593668.com/

#在环境变量中设定代理
export PROXY=http://1.1.1.1:8080/
#在~/.wgetrc中设定代理
http_proxy = http://1.1.1.1:18023/
ftp_proxy = http://1.1.1.1:18023/
分别表示http的代理服务器和ftp的代理服务器。如果代理服务器需要密码则还需要增加参数:
proxy-user=USER设置代理用户
proxy-passwd=PASS设置代理密码
此外,使用参数–proxy=on/off 使用或者关闭代理。
7)批量下载,把每个文件的URL写一行,生成文件download.txt,然后用命令:

wget -i download.txt

8)选择性的下载,比如只下gif,png,jpg【–accept=LIST 可以接受的文件类型,–reject=LIST拒绝接受的文件类型】。

wget --accept=gif,png,jpg http://www.593668.com/

9)带密码和认证,只能处理利用用户名/密码方式限制访问的网站,可以利用两个参数:
http-user=USER设置HTTP用户
http-passwd=PASS设置HTTP密码
对于还需要拿证书做认证的网站,那就只能利用其他下载工具了,例如curl。
最后,还是需要额外提醒下,这里有些参数是必须填写成–的,不要少了一个–,不然就会执行报错了。当然wget还有很多有用的功能,各个参数之前配合的效果更需要大家主动去挖掘了。





  评论这张
 
阅读(0)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018