使用wget以递归方式获取包含任意文件的目录

我有一个网络目录,我存储一些配置文件。 我想使用wget来拉下这些文件并保持其当前结构。 例如,远程目录如下所示:

http://mysite.com/configs/.vim/

.vim保存多个文件和目录。 我想用wget在客户端复制它。 似乎无法找到正确的组合wget标志来完成这件事。 有任何想法吗?


您必须将-np / --no-parent选项传递给wget (当然除了-r / --recursive之外),否则它将跟随我站点上的目录索引中的链接到父目录。 所以这个命令看起来像这样:

wget --recursive --no-parent http://example.com/configs/.vim/

要避免下载自动生成的index.html文件,请使用-R / --reject选项:

wget -r -np -R "index.html*" http://example.com/configs/.vim/

要递归下载目录,拒绝index.html *文件并下载没有主机名,父目录和整个目录结构的目录:

wget -r -nH --cut-dirs=2 --no-parent --reject="index.html*" http://mysite.com/dir1/dir2/data

对于有类似问题的其他人。 Wget遵循robots.txt ,这可能不允许您抓取该网站。 不用担心,你可以关闭它:

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

http://www.gnu.org/software/wget/manual/html_node/Robot-Exclusion.html

链接地址: http://www.djcxy.com/p/9803.html

上一篇: Using wget to recursively fetch a directory with arbitrary files in it

下一篇: Checking BASH strings in while loops for single quotes?