2013-06-24 127 views
97

我想下载的文件使用wget一个项目,作为该项目的SVN服务器不再运行,我只能通过浏览器访问这些文件。所有文件的基本URL就像如何使用wget下载整个目录和子目录?

http://abc.tamu.edu/projects/tzivi/repository/revisions/2/raw/tzivi/ *

如何使用wget(或任何其他类似工具)来下载这个仓库,这里的“tzivi所有文件相同“文件夹是根文件夹,它下面有几个文件和子文件夹(最多2或3层)?

+3

如果服务器没有网页,并且列表中包含您需要的所有文件链接,那么您无法做到这一点。 –

+0

你知道文件的名字吗? –

+0

不,我不知道用递归选项所有files.I尝试了wget的名称,但它并没有因为服务器没有任何index.html文件列出了所有的内部环节的工作either.Is。 – code4fun

回答

139

您可以在shell中使用这样的:

wget -r --no-parent http://abc.tamu.edu/projects/tzivi/repository/revisions/2/raw/tzivi/ 

的参数是:

-r  //recursive Download 

--no-parent // Don´t download something from the parent directory 

如果你不想下载整个内容,可以使用:

-l1 just download the directory (tzivi in your case) 

-l2 download the directory and all level 1 subfolders ('tzivi/something' but not 'tivizi/somthing/foo') 

依此类推。如果您插入没有-l选项,wget将自动使用-l 5

如果你插入一个-l 0你会下载整个互联网,因为wget会追踪它找到的每一个链接。

+17

太棒了,所以为了简化下一个读者:'wget -r -l1 --no-parent http:// www.stanford.edu /〜boyd/cvxbook/cvxbook_additional_exercises /'是我的答案。谢谢你的回答。 – isomorphismes

+2

我尝试了上面的命令从'HTTP GET的所有文件:// websitename.com /可湿性粉剂内容/上传/ 2009/05'但我得到的是一个'index.html'文件,这没有什么。我无法弄清我错过了什么。 –

+0

@up:请注意,wget遵循链接,所以你需要一个目录列表;) – sn0w

11

您可以在shell中使用这样的:

wget -r -nH --cut-dirs=7 --reject="index.html*" \ 
     http://abc.tamu.edu/projects/tzivi/repository/revisions/2/raw/tzivi/ 

的参数是:

-r recursively download 

-nH (--no-host-directories) cuts out hostname 

--cut-dirs=X (cuts out X directories) 
4

使用命令

wget -m www.ilanni.com/nexus/content/ 
0

,你也可以使用这个命令:

wget --mirror -pc --convert-links -P ./your-local-dir/ http://www.your-website.com 

这样就可以得到想要下载的网站的确切镜像