如何使用 wget

比如说要下载好的在线资源,可以用wget命令:

$ wget -r -p -k -np http:
$ wget -r -p -k -np http:

下载[git-pro中文版][1]时,遇到错误: Connecting to |216.34.181.97|:80... failed: Connection refused.。可能是G F W的作用,因此需要使用代理,只需要设置:

   [1]: http://git-scm.com/book/zh

$ export http_proxy='127.0.0.1:8087'

重试则可以下载成功,但是编码错误:

zsh $ wget -r -p -k -np http://git-scm.com/book/zh/起步 
--2013-04-08 14:21:43-- http://git-scm.com/book/zh/%E8%B5%B7%E6%AD%A5 
正在连接 127.0.0.1:8087... 已连接。 
已发出 Proxy 请求,正在等待回应... 200 
长度: 17487 (17K) [text/html] 
....

加上--restrict-file-names=nocontrol参数就可以了。

另外在下载learn.jquery.com完成后,在首页打开event时,链接转换为file:///home/zhaofei/Documents/learn.jquery.com/index.html?page_id=13, 实际上,浏览器在载入文件时忽略链接中的查询字串(也就是?page_id=13),因此打开的仍然是index.html。这时候加上--restrict-file-names=windows,转换为本地连接时将?转换为其他字符。

man wget

wget是免费的网页下载工具,支持HTTP、HTTPS、FTP协议,同时还支持http代理。wget支持递归抓取页面,可以爬取HTML、XHTML、CSS,同时转换页面内链接地址,允许在没网的情况下浏览网站,因此是备份网站的强大工具。 wget遵守Robot Exclusion Standard (/robots.txt)。

上面各个选项含义:


Mac 下可以使用SiteSucker备份网站,SiteSucker简单易用同时又很强大,setting里面有许多选项可以设置,比如不下载指定文件类型等。

Nginx 开发从入门到精通
How to Fix wget Connection Refused Error when I’m behind a Proxy
解决wget下载文件名乱码的一些方法
Escaping query strings with wget —mirror