wget用法

今天学习正则表达式,然后就去网上搜点资料,然后就谷歌“正则表达式 filetype:chm -csdn”,想要点CHM文档,不想在CSDN里面找资源,里面很多东西都要积分,我哪有那么多积分啊,就把所有的关于CSDN的全部去掉了,说来也巧,就搜到一个下载中心了,更巧的是里面有很多其他资源,挺好的,就想全部下载下来,点开一个资源链接,出现了这样一个界面:

 

还是第一次遇到这种情况, "只允许在Linux/Unix下通过Wget、Curl等命令下载本软件",真有趣,幸好我正在使用linux,然后就用wget下载呗,“wget+URL”就能下载,可是这个网站里面的好东西好多啊,都想下载下来,点了几个我就烦了,太麻烦了,百度一下wget的用法吧,还真有,研究了一下,我需要的参数是递归下载整个网站,哈哈,加上-r就行了,这样就把里面的资源全部下载下来了,又看了一下网站,里面有点音乐,不用下载,就把音乐排除,加上-R mp3,就不下载mp3文件了,刚才我已经下载了一些软件了,不想重复下载,然后加上-nc,这样就会跳过已经下载的文件,哈哈,下吧,我就可以边下载边学习正则了!

 

附上wget的用法 (来自百度百科)

 

命令格式

  wget [options] [URL]

编辑本段启动类参数

  这一类参数主要提供软件的一些基本信息。
  -V,--version 显示软件版本号然后退出;
  -h,--help显示软件帮助信息;
  -e,--execute=COMMAND 执行一个 “.wgetrc”命令
  以上每一个功能有长短两个参数,长短功能一样,都可以使用。需要注意的是,这里的-e参数是执行一个.wgettrc的命令,.wgettrc命令其实是一个参数列表,直接将软件需要的参数写在一起就可以了。

编辑本段文件处理参数

  这类参数定义软件log文件的输出方式等。
  -o,--output-file=FILE 将软件输出信息保存到文件;
  -a,--append-output=FILE将软件输出信息追加到文件;
  -d,--debug显示输出信息;
  -q,--quiet 不显示输出信息;
  -i,--input-file=FILE 从文件中取得URL;
  例1:下载首页并且显示下载信息
  wget -d
  例2:下载首页并且不显示任何信息
  wget -q
  例3:下载filelist.txt中所包含的链接的所有文件
  wget -i filelist.txt
  wget -np -m -l 5 不下载本站所链接的其它站点内容,5级目录结构

编辑本段下载参数

  下载参数定义下载重复次数、保存文件名等。
  -t,--tries=NUMBER 是否下载次数(0表示无穷次)
  -O --output-document=FILE下载文件保存为别的文件名
  -nc, --no-clobber 不要覆盖已经存在的文件
  -N,--timestamping只下载比本地新的文件
  -T,--timeout=SECONDS 设置超时时间
  -Y,--proxy=on/off 关闭代理
  例:下载的首页并将下载过程中的的输入信息保存到test.htm文件中
  wget -o test.

目录参数

  目录参数主要设置下载文件保存目录与原来文件(服务器文件)的目录对应关系;
  -nd --no-directories 不建立目录
  -x,--force-directories 强制建立目录
  可能现在我们对这里的目录还不是很了解,我们来看一个举例
  例:下载的首页,并且保持网站结构
  wget -x

HTTP参数

  HTTP参数设置一些与HTTP下载有关的属性。
  --http-user=USER设置HTTP用户
  --http-passwd=PASS设置HTTP密码
  --proxy-user=USER设置代理用户
  --proxy-passwd=PASS设置代理密码
  以上参数主要设置HTTP和代理的用户、密码;

递归参数设置

  在下载一个网站或者网站的一个目录的时候,我们需要知道的下载的层次,这些参数就可以设置。
  -r,--recursive 下载整个网站、目录(小心使用)
  -l,--level=NUMBER 下载层次
  例:下载整个网站
  wget -r

递归允许与拒绝选项参数

  下载一个网站的时候,为了尽量快,有些文件可以选择下载,比如图片和声音,在这里可以设置。
  -A,--accept=LIST 可以接受的文件类型
  -R,--reject=LIST拒绝接受的文件类型
  -D,--domains=LIST可以接受的域名,用逗号分隔
  --exclude-domains=LIST拒绝的域名,用逗号分隔
  -L,--relative 下载关联链接
  --follow-ftp 只下载FTP链接
  -H,--span-hosts 可以下载外面的主机
  -I,--include-directories=LIST允许的目录
  -X,--exclude-directories=LIST 拒绝的目录

编辑本段设定wget所使用的代理服务器

  wget可以使用用户设置文件".wgetrc"来读取很多设置,我们这里主要利用这个文件来是设置代理服务器。使用者用什么用户登录,那么什么用户主目录下的".wgetrc"文件就起作用。例如,"root"用户如果想使用".wgetrc"来设置代理服务器,"/root/.wgetrc"就起作用,下面给出一个".wgetrc"文件的内容,读者可以参照这个例子来编写自己的"wgetrc"文件:
  http-proxy = 111.111.111.111:8080
  ftp-proxy = 111.111.111.111:8080
  这两行的含义是,代理服务器IP地址为:111.111.111.111,端口号为:8080。第一行指定HTTP协议所使用的代理服务器,第二行指定FTP协议所使用的代理服务器。

编辑本段代码总表

  ‍
  ●启动:
  -V, --version 显示wget的版本后退出
  -h, --help 打印语法帮助
  -b, --background 启动后转入后台执行
  -e, --execute=COMMAND 执行`.wgetrc'格式的命令,wgetrc格式参见/etc/wgetrc或~/.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 下载显示HTML文件的所有图片
  ●递归下载中的包含和不包含(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 不要追溯到父目录

posted on 2012-01-09 21:28  ma6174  阅读(5287)  评论(0编辑  收藏  举报

导航