如何使用wget下载整个目录和子目录?


143

我正在尝试使用来下载项目文件,因为该项目wget的SVN服务器不再运行,并且只能通过浏览器访问文件。所有文件的基本URL都一样

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

我如何使用wget(或任何其他类似的工具)下载此存储库中的所有文件,其中“ tzivi”文件夹是根文件夹,并且其下有几个文件和子文件夹(最多2或3个级别)?


3
如果服务器没有包含所需文件所有链接列表的网页,则无法执行此操作。
Eddy_Em 2013年

1
您知道文件的名称吗?
Karoly Horvath

不,我不知道所有文件的名称。我尝试了使用递归选项的wget但它也不起作用,因为服务器没有任何列出所有内部链接的index.html文件。
code4fun 2013年

您是否尝试过wget的镜像选项?
Tomasz Nguyen

Answers:


193

您可以在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 0wget则将下载整个Internet,因为它将跟踪找到的每个链接。


19
太好了,为便于下一个读者简化:这wget -r -l1 --no-parent http://www.stanford.edu/~boyd/cvxbook/cvxbook_additional_exercises/是我的答案。谢谢你的回答。
同构

2
我尝试了上面的命令从中获取所有文件,http://websitename.com/wp-content/uploads/2009/05但是我得到的只是一个index.html没有任何文件的文件。我不知道我错过了什么。
Vivek Todi 2015年

@up:请注意,wget跟随链接,因此您需要目录列表;)

11
我知道这已经很老了。但是我发现有用的还是-e robots=off开关。;)
Matthias W.

2
您为什么不删除“我忘记了重要的事情”而只解决答案呢?
user1271772

16

您可以在外壳中使用它:

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)



1

您也可以使用以下命令:

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

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


1

这个链接给了我最好的答案:

$ wget --no-clobber --convert-links --random-wait -r -p --level 1 -E -e robots=off -U mozilla http://base.site/dir/

像魅力一样工作。


-1

这有效:

wget -m -np -c --no-check-certificate -R "index.html*" "https://the-eye.eu/public/AudioBooks/Edgar%20Allan%20Poe%20-%2"
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.