wget——Linux下Web文件提取工具

2016-01-29 18:44 60 1 收藏

wget——Linux下Web文件提取工具,wget——Linux下Web文件提取工具

【 tulaoshi.com - Linux 】


  wget是一个Linux环境下用于从World Wide Web上提取文件的工具,这是一个GPL许可证下的自由软件,其作者为Hrvoje Niksic 。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

来源:http://www.tulaoshi.com/n/20160129/1507075.html

延伸阅读
标签: 服务器
详解Linux系统下的hosts文件   hosts文件 hosts the static table lookup for host name(主机名查询静态表)。 hosts文件是Linux系统上一个负责ip地址与域名快速解析的文件,以ascii格式保存在/etc/目录下。hosts文件包含了ip地址与主机名之间的映射,还包括主机的别名。在没有域名解析服务器的情况下,系统上的所有网络程...
标签: 电脑入门
Linux下删除文件使用rm指令就可以完成了,那么要删除除了指定文件的其他文件又该使用哪个命令呢?下面图老师小编就大家介绍下删除指定文件以外的文件命令。 一、Linux下删除文件和文件夹常用命令如下: 删除文件: rm file 删除文件夹: rm -rf dir 需要注意的是, rmdir 只能够删除 空文件夹。 二、删除制定文件(夹)之外的所有文...
标签: Web开发
能较容易地对用户通过 HTML 表单提交的信息进行操作的能力一直是 PHP 的优势之一。事实上,PHP 版本 4.1 添加了几个访问该信息的新方法并有效地除去了以前版本中最常用的一个方法。本文研究了使用 HTML 表单上提交的信息的不同方法,并同时使用了 PHP 较早的版本和较新的版本。本文首先从研究单个值开始,然后构建可以一般性地访问任何可用...
标签: 电脑入门
在Linux系统操作中,为了防止文件被人改动,可以将文件进行权限保护,那么具体要如何做呢?下面图老师小编就给大家介绍下Linux下对文件进行权限保护的方法,一起来学习下吧。 在管理Linux系统的过程中,对于一些重要的关键性文件、配置文件和重要的个人资料,往往不希望用户进行随意的修改,这个时候我们就需要对该文件来进行权限的保护,...
  在“Linux 文件命令精通指南(上)”中,我们讨论了利用最基础和最常用 Linux 文件命令所需的基本信息。在本文中,我将对 Linux 系统命令作同样的讨论。 我们在前一篇文章中了解到,在 Linux/UNIX 世界中,一切都被看作文件,包括系统管理命令。单独对于组织而言,我们在本系列的第一部分中讨论了文件命令,并将在本文中提供...

经验教程

60

收藏

38
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部