使用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?