我正在尝试使用 wget 命令从 HTTP 获取文件。
我需要以下每个文件:
http://9.9.9.9/a/b/c/d/
这不是一个目录。
我尝试过:
-A log,html,tgz,zip,txt,css,js
此外,从那时起:
http://9.9.9.9/a/b/c/d/needed_folder/
我需要递归地获取那里的所有文件(里面有几个子文件夹)我尝试使用以下方法:
-I /needed_folder
我使用了以下命令:
wget -r -A log,html,tgz,zip,txt,css,js -I /needed_folder -np -nH --cut-dirs=4 -R index.html http://9.9.9.9/a/b/c/d/needed_folder/some_files_needed/
这仅检索index.html.1文件有什么错误?
答案1
这是网络不像文件系统:URL 不是路径,尽管它们经常被映射到路径。而且,一般情况下,即使它们确实是路径,也无法wget
知道它们是哪些路径。解释为什么你的命令不起作用:
-r
或--recursive
表示wget
将下载你指定的 URL,解析标记以查找指向其他文件的链接,然后下载这些内容,默认重复五次(如果它跟随网站外的链接,最终可能会产生数十亿个链接)。-A
/--accept
、-I
/--include-directories=
和-R
/--reject
指定模式筛选上面的集合。-np
/--no-parent
确保只下载以您提供的 URL 开头的 URL。-nH
/--no-host-directories
将来自所有主机的文件放在同一目录中。--cut-dirs=number
将上述内容概括为不在当地的下载文件时的存储。