我可以使用类似的命令wget -m -A.jpg http://www.mysite.tld/
,但它将下载每个文件,然后如果它不是 jpg,它将删除该文件,如下所示:
`HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘index.html’
index.html [ <=> ] 1.73K --.-KB/s in 9.5s
2015-01-13 16:55:52 (186 B/s) - ‘index.html’ saved [1776]
Removing index.html since it should be rejected.`
我想只下载 .jpg 文件,而不必下载网站上的所有其他文件并随后将其丢弃,因为某些文件非常大,而其余文件非常多。
答案1
这是 wget 解析链接树的一部分。它仅对 htm/html 执行此操作(即,它不会下载每个非 jpg 文件,而只会下载恰好是 .htm 或 .html 文件的每个非 jpg 文件)。它必须如此,它是功能的一部分。看,https://www.gnu.org/software/wget/manual/html_node/Types-of-Files.html
注意:如果您可以连接mysite.tld
并发出命令来列出文件并将输出重定向到文本文件,您可以使用wget -i foo.txt
从文件中读取下载 URL,而不是让 wget 通过链接来获取它们。
示例:从远程计算机:ls *.jp* > foo.txt
然后从本地计算机:(wget -i -F foo.txt -B http://www.mysite.tld/foo.jpg
显然您必须移动foo.txt
到本地计算机或以其他方式指向它)