如何下载在线文件/文件夹列表中显示的所有文件和子目录的HTTP目录?

有一个我可以访问的在线HTTP目录。 我试图通过wget下载所有的子目录和文件。 但问题是,当wget下载子目录时,它会下载包含该目录中文件列表的index.html文件,而不会自行下载文件。 有没有办法下载没有深度限制的子目录和文件(就好像我要下载的目录只是一个文件夹,我想复制到我的电脑)。

在线HTTP目录

wget -r -np -nH --cut-dirs=3 -R index.html http://hostname/aaa/bbb/ccc/ddd/ 

说明:

  • 它会下载所有的文件和子目录在ddd目录中:
  • recursion地(-r),
  • 不会进入上层目录,如ccc / …(-np),
  • 不保存文件到主机名文件夹(-nH),
  • 但通过省略前3个文件夹dddd aaa,bbb,ccc(–cut-dirs = 3)
  • 不包括index.html文件(-R index.html)

参考: http : //bmwieczorek.wordpress.com/2008/10/01/wget-recursively-download-all-files-from-certain-directory-listed-by-apache/

我能够得到这个工作感谢这篇文章利用VisualWGet 。 它对我很好。 重要的部分似乎是检查-recursive标志(见图)。

还发现-no-parent标志是重要的,否则它会尝试下载所有东西。

在这里输入图像说明在这里输入图像说明

wget是一个非常宝贵的资源,我用我自己的东西。 但是有时在wget标识为语法错误的地址中有字符。 我确信有一个解决scheme,但因为这个问题没有具体问wget我想我会为那些毫无疑问会绊倒在这个页面上寻找一个快速修复没有学习曲线所需的人提供一个替代。

有几个浏览器扩展可以做到这一点,但大多数需要安装下载pipe理器,这并不总是免费的,往往是一个眼睛,并使用大量的资源。 一个没有这些缺点的人:

“下载大师”是谷歌浏览器的扩展,适合从目录下载。 您可以select过滤要下载的文件types,或下载整个目录。

https://chrome.google.com/webstore/detail/download-master/dljdacfojgikogldjffnkdcielnklkce

有关最新的function列表和其他信息,请访问开发人员博客上的项目页面:

http://monadownloadmaster.blogspot.com/

 wget -r -np -nH --cut-dirs=3 -R index.html http://hostname/aaa/bbb/ccc/ddd/ 

man wget

'-r' '– recursive '打开recursion检索。 有关更多详细信息,请参阅recursion下载。 默认的最大深度是5。

'-np''–no-parent'当recursion地检索时,永远不要上升到父目录。 这是一个有用的选项,因为它保证只有特定层级以下的文件才会被下载。 有关更多详细信息,请参阅基于目录的限制。

'-nH'–no-host-directories'禁止生成主机前缀的目录。 默认情况下,使用'-r http://fly.srk.fer.hr/ '调用Wget将创build一个以fly.srk.fer.hr/开头的目录结构。 该选项禁用这种行为。

'–cut-dirs = number'忽略号码目录组件。 这对于获取对recursion检索将被保存的目录进行精细控制很有用。

以“ ftp://ftp.xemacs.org/pub/xemacs/ ”目录为例。 如果使用'-r'检索它,它将被保存在ftp.xemacs.org/pub/xemacs/的本地。 虽然'-nH'选项可以删除ftp.xemacs.org/部分,但仍然受困于pub / xemacs。 这就是'cut-dirs'派上用场的地方。 它使Wget不会“看到”多个远程目录组件。 这里有几个例子说明' – cut-dirs'选项是如何工作的。

没有选项 – > http://ftp.xemacs.org/pub/xemacs/ -nH – > pub / xemacs / -nH –cut-dirs = 1 – > xemacs / -nH –cut-dirs = 2 – >。

–cut-dirs = 1 – > http://ftp.xemacs.org/xemacs/ …如果你只是想摆脱目录结构,这个选项类似于'-nd'和'-P'的组合。 然而,与“-nd”不同,“–cut-dirs”不会丢失子目录,例如,'-nH -cut-dirs = 1',beta /子目录将被放置到xemacs / beta中人们会期望。