使用Wget下载所有文件夹,子文件夹和文件


21

我一直在使用Wget,但遇到了一个问题。我有一个网站,该网站内有几个文件夹和子文件夹。我需要下载每个文件夹和子文件夹中的所有内容。我已经尝试过使用Wget的几种方法,当我检查完成情况时,我在文件夹中看到的只是一个“索引”文件。我可以单击索引文件,它将带我进入这些文件,但是我需要实际的文件。

有没有人有我忽略的Wget命令,或者是否有另一个我可以用来获取所有这些信息的程序?

网站示例:

图片目录中的www.mysite.com/Pictures/,有几个文件夹.....

www.mysite.com/图片/会计/

www.mysite.com/Pictures/Managers/北美/加利福尼亚/JoeUser.jpg

我需要所有文件,文件夹等.....


1
您是否阅读过有关文档的信息wget,特别是关于递归使用的文档?
摩西

还有在文档中的一篇文章在这里,似乎有关。
2013年

Answers:


38

我想假设您没有尝试过:

wget -r --no-parent http://www.mysite.com/Pictures/

或检索内容,而无需下载“ index.html”文件:

wget -r --no-parent --reject“ index.html *” http://www.mysite.com/Pictures/

参考:使用wget递归获取其中包含任意文件的目录


1
谢谢,我已经多次运行该命令,但是我没有让该命令一直执行到最后。我得到了跟踪,让命令实际上完成了,它首先复制了“所有文件夹”,然后又返回并将所有文件复制到了文件夹中。
Horrid Henry

只是向您展示,如果我有耐心,我会在2周前完成此操作。:) 再次感谢。
Horrid Henry

@Horrid Henry,恭喜!
Felix Imafidon

我使用类似的命令,但只得到一个index.html文件!
shenkwen

20

我用 wget -rkpN -e robots=off http://www.example.com/

-r 递归地

-k表示转换链接。因此,网页上的链接将是localhost而不是example.com/bla

-p 表示获取所有网页资源,因此获取图片和JavaScript文件以使网站正常运行。

-N 是检索时间戳,因此,如果本地文件比远程网站上的文件新,请跳过它们。

-e是一个标志选项,它必须存在robots=off才能工作。

robots=off 表示忽略漫游器文件。

我也有-c此命令,所以如果他们的连接断开了,它将在我重新运行命令时从上次中断的地方继续。我认为-N会很好-c


您能否在答案中添加几句话来解释这些参数设置的作用?
fixer1234 2014年

抱歉。现在确定要加病
蒂姆·乔纳斯

我更新了我的答案
蒂姆·乔纳斯

谢谢。那么-c应该作为命令示例的一部分,还是在下载不完全之后添加(可选)?另外,-e是,以便该命令优先于.wgetrc中的任何命令?那是-r的错字(递归还是隐含)?
fixer1234

对,那是正确的。是的,-e将执行命令,就好像它是.wgetrc的一部分一样,我在那里添加了它,因为robots=off没有它似乎无法正常工作。
Tim Jonas 2014年

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.