当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《使用wget以递归方式获取包含任意文件的目录》经验,为你挑选了8个好方法。

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

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

.vim拥有多个文件和目录.我想使用wget在客户端上复制它.似乎找不到正确的wget标志组合来完成这项工作.有任何想法吗?



1> Jeremy Ruten..:

您必须将-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/


添加-nH(删除主机名)--cut-dirs = X(删除X目录).必须手动计算X的目录有点烦人.
@matteo因为robots.txt可能不允许抓取网站.您应该添加-e robots = off以强制抓取.
为什么这些都不适用于http://www.w3.org/History/1991-WWW-NeXT/Implementation/?它只会下载robots.txt
如果您不想下载整个内容,可以使用:-l1只需下载目录(在您的情况下为example.com)-l2下载目录和所有1级子文件夹('example.com/something'但不是'example.com/somthing/foo')等等.如果不插入-l选项,wget将自动使用-l 5.如果您插入-l 0将下载整个Internet,因为wget将跟随它找到的每个链接./sf/ask/17360801/

2> Sriram..:

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

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


@matteo尝试添加:-e robots = off

3> 小智..:

对于其他有类似问题的人.Wget跟随robots.txt,可能不允许你抓住网站.不用担心,你可以把它关掉:

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

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



4> SamGoody..:

你应该使用-m(镜像)标志,因为它注意不要弄乱时间戳并无限地递归.

wget -m http://example.com/configs/.vim/

如果你在这个帖子中添加其他人提到的点,那就是:

wget -m -e robots=off --no-parent http://example.com/configs/.vim/



5> Erich Eichin..:

这是完整的wget命令,它可以帮助我从服务器的目录下载文件(忽略robots.txt):

wget -e robots=off --cut-dirs=3 --user-agent=Mozilla/5.0 --reject="index.html*" --no-parent --recursive --relative --level=1 --no-directories http://www.example.com/archive/example/5.3.0/



6> 小智..:

如果--no-parent没有帮助,您可以使用--include选项.

目录结构:

http:///downloads/good
http:///downloads/bad

你想下载downloads/good而不是downloads/bad目录:

wget --include downloads/good --mirror --execute robots=off --no-host-directories --cut-dirs=1 --reject="index.html*" --continue http:///downloads/good



7> 小智..:
wget -r http://mysite.com/configs/.vim/

适合我.

也许你有一个干扰它的.wgetrc?



8> prayagupd..:

要使用用户名和密码递归获取目录,请使用以下命令:

wget -r --user=(put username here) --password='(put password here)' --no-parent http://example.com/

推荐阅读
360691894_8a5c48
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有