Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1556343
  • 博文数量: 290
  • 博客积分: 3468
  • 博客等级: 中校
  • 技术积分: 3461
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-28 22:21
文章分类

全部博文(290)

文章存档

2016年(13)

2015年(3)

2014年(42)

2013年(67)

2012年(90)

2011年(75)

分类: LINUX

2013-02-18 15:09:49

原文:http://www.cnblogs.com/HappyThree/archive/2013/02/04/2892413.html


春节临近,准备收拾行囊回家过年。由于家在农村,没有网络。于是想把一些自己喜欢的技术网站下载到本地,回家好好阅读。以前就知道wget有做网站镜像的功能,于是就折腾了一下,使用中遇到一些问题,最后得到了wget命令行:


wget -e robots=off -w 1 -x -np -p -m -k -t 1 -X/blog/user http:///blog/

  为了让这个命令行的各选项意义更加明确,它还可以写成:


wget --execute robots=off --wait=1 --force-directories --no-parent --page-requisites --mirror --convert-links --tries=1 --exclude /blog/user http:///blog/

  下面对其中的各选项简要说明,做备忘之用。

‘-e command’
‘--execute command’

用来执行额外的.wgetrc命令。就像vim的配置存在.vimrc文件中一样,wget也用.wgetrc文件来存放它的配置。也就是说在wget执行之前,会先执行.wgetrc文件中的配置命令。一个典型的.wgetrc文件可以参考:

  
  


用 户可以在不改写.wgetrc文件的情况下,用-e选项指定额外的配置命令。如果想要制定多个配置命令,-e command1 -e command2 ... -e commandN即可。这些制定的配置命令,会在.wgetrc中所有命令之后执行,因此会覆盖.wgetrc中相同的配置项。

这里robots=off是因为wget默认会根据网站的robots.txt进行操作,如果robots.txt里是User-agent: * Disallow: /的话,wget是做不了镜像或者下载目录的,使用-e robots=off参数即可绕过该限制。


-w seconds
--wait=seconds
 
为了不给被拷贝的镜像网站带来太大的访问压力,页面请求之间停下等待seconds时间。


-x
--force-directories
创建与镜像网站对应的目录结构。 这个文件下载下来时,会等到对应的。与之相反的是-nd,即--no-directories,

 

-np
--no-parent
只下载给定的目录下的文件,不下载它的上级目录中的文件,即使有些页面中存在上级目录中文件的连接。这个比较必要,如果不限定的话,本来只想下载/blog/中的博客文章,最后很有可能将整个都下载下来了。

 

-p
--page-requisites
下载能显示整个页面需要的所有资源,包括内嵌的image以及css样式文件。



-m
--mirror

它会打开镜像相关的选项,比如无限深度的子目录递归下载。



-k
--convert-links

这个选项会在整个网站下载完成后修HTML、CSS、Image等资源的链接关系,让它们都指向下载下来的本地文件,从而适合本地浏览。



-t times
--tries=times

如果某个资源下载失败,这个选项指定了重试下载的次数。.wgetrc默认的是20次。我们在下载网站时可以将其放小,一则减少下载时间,二则减轻镜像站点的压力。



-X /some/dir
--exclude /some/dir

可以用这个参数指定不需要下载的目录,如果有多个需要排除的目录,可以用逗号隔开,比如

-X /some/dir1;/some/dir2


关于wget更多的选项,可以参见官网文档:

阅读(1251) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~