查看“Wget”的源代码
来自Ubuntu中文
←
Wget
跳到导航
跳到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
wget是一个命令行工具,用于批量下载文件,支持HTTP和FTP。究竟比其他的工具好在哪里?看看内容吧 :) wget基本上所有的Linux版本都自己带了,但是有多少人在用呢?呵呵,如果你没有用过,不妨试试。Windows下面的用户可以使用GNUwin32的项目,wget,基本功能完全一致。好吧,我们来以几个简单的例子看看wget的威力。 如果我们想下载ftp里面某个目录里面的所有文件,我们也可以不用ftp这个笨蛋,呵呵,可以享受cute ftp等图形化工具的拖一个目录的轻松了。如 wget -r ftp://10.8.8.8/movie/ 呵呵,等吧!下完了,发觉有些不对劲,怎么出来个10.8.8.8的目录,进去看看,又是一个movie,哦,wget将目录结构和网站标题都给记录下来了,不要??没有问题!比如说还是这个例子 wget -r -nd ftp://10.8.8.8/movie/ 结果什么目录都没有了,faint!怎么会这样?呵呵,你如果想要这样就让它这样吧,否则使用 wget -r -nH ftp://10.8.8.8/movie/ 恩?movie也不要?OK,那就这样 wget -r -nH --cut-dirs=1 ftp://10.8.8.8/movie/ 这有什么用啊?cuteftp比他好用多了,而且,你这断了线能连吗?呵呵,不好意思,可以连 wget -c -r -nH --cut-dirs=1 ftp://10.8.8.8/movie/ 但是cuteftp能做下面的事情吗?比如,现在很多网站使用Apache建站,并不提供ftp服务,但是Apache有一个indexing功能,可以提供一个类似于ftp的界面,好多文件我想下啊,怎么办?由于是HTTP协议,CuteFTP无能为力了,倒是flash get等有什么get all这种功能,不知道他们对于目录处理怎么样。但是wget一点问题都没有,不信?我们拿CTAN为例(例子并不恰当,CTAN有FTP服务),我们下载这里面所有的宏包,呵呵 wget -r -k http://www.ctan.org/tex-archive/macros/latex/ -k表示将连接转换为本地连接。但是现在同样有上面的问题啊,那就把你需要的加上吧,另外也许你根本不需要向下走那么多层,比如,我们就要到第二层,那么 wget -r -l2 -k http://www.ctan.org/tex-archive/macros/latex/ 现在新的问题是,由于网页有一个排序功能,很讨厌,因为下载的时候把网页重复了好多次,那么我们可使用-A和-R开关控制下载类型,并且可以使用通配符,呵呵,现在随心所欲了吧 wget -r -R ".htm\?*" -k http://www.ctan.org/tex-archive/macros/latex/ 这次没有那种网页了吧?-R的意义在于拒绝下载匹配类型的文件,-A表示仅仅接受的文件类型,如-A "*.gif"将仅下载gif图片,如果有多个允许或者不允许,可以使用,分开。 那么,我们现在在使用代理服务器,怎么办呢?呵呵,很高兴你选择了wget,你可以使用它的配置文件,环境变量来利用代理。这里推荐使用环境变量,如在 bash里面我们可以把天天用的proxy加到.bash_profile里面,这是Linux标准写法(很多软件都用的,什么apt-get,yum等等) export http_proxy=http://10.20.30.40:8080 然后,proxy就默认打开了,如果需要暂时关闭,可以使用 wget --proxy=off -r -k http://www.ctan.org/tex-archive/macros/latex/ 当然,写一个.wgetrc文件也可以,该文件可以从/usr/local/etc里面找到,里面有很详细的注释,我就不多说了。 下载网页的时候比较麻烦的事情是,有的网页被同时指向了很多遍,那么为了避免多次下载,我们使用 wget -nc -r -k http://www.ctan.org/tex-archive/macros/latex/ 可以避免这件事情。为了不被有的连接指向非http://www.ctan.org/tex-archive/macros/latex/ 内层目录,我们还应该加上 wget -nc -np -r -k http://www.ctan.org/tex-archive/macros/latex/ 避免下载非该目录里面的文件,这也避免了到不同的host上面去。当然,如果你希望有这个功能,在多个host之间跳来跳去的下载,可以使用 wget -nc -np -H -r -k http://www.ctan.org/tex-archive/macros/latex/ 使得可以在多个host之间span,同时-I和-X可以使得我们仅仅跟踪某些目录或者不跟踪某些目录。如果某些HTML里面你需要的东西不是由这种东西作出来的,你就得使用--follow-tags和--ignore-tags了。 嘿,我有个文件里面都是连接,怎么办?要是不是html你只需要 wget -i your.file 如果是,那也不繁 wget -F -i your.file
返回
Wget
。
导航菜单
页面操作
页面
讨论
阅读
查看源代码
历史
页面操作
页面
讨论
更多
工具
个人工具
登录
导航
首页
最近更改
随机页面
页面分类
帮助
搜索
编辑
编辑指南
沙盒
新闻动态
字词处理
工具
链入页面
相关更改
特殊页面
页面信息