Answers:
您还可以尝试HTTrack,它具有IMO,更加灵活和直观的包含/排除逻辑。像这样
httrack "https://example.com" -O ExampleMirrorDirectory \
"-*" \
"+https://example.com/images/*" \
"-*.swf"
规则将按顺序应用,并将覆盖以前的规则...
在'man wget'的--reject部分下:
“请注意,如果任何通配符*,?,[或]出现在acclist或rejlist的元素中,它将被视为一种模式,而不是后缀。”
如果执行此操作,则可能需要举例说明您正在使用的模式以及您认为应该匹配的模式,而事实并非如此。您说它们匹配,但是确定吗?
另外,请确保将此列表放在引号中,以便在将参数传递给wget之前,shell不会扩展那些通配符。
即使您的系统没有版本1.12,也请在此处阅读手册的“文件类型”部分。根据更改日志,维护人员添加了一些警告:
* NEWS: Added documentation change re: --no-parents, and various
caveats on accept/reject lists behavior. Rearranged some items in
order of priority.
一种解决方法是通过代理服务器运行wget。将您的代理设置为禁止某些模式。这将阻止wget首先下载它们。
wget将下载并删除与-R模式匹配的文件。它也可以匹配模式,而不仅仅是扩展名或文件名的一部分。但是,它不会阻止wget先下载然后再删除。
httrack确实具有一些不错的功能,但是以我的经验,它保存“文件”的方式可能有点古怪,例如,如果httrack遇到index.asp?Type = BASIC&PAGEID = 2234234
它可以保存它,但是您必须告诉它保存该文件。查询的一部分,
例如%h%p /%n%[TYPE:@TYPE = ::]%[PAGEID:PAGEID = ::]。%t
@是问号的占位符,您可以稍后重命名文件,还是逃避问号?问题是,。%t会在您的URI的末尾添加一个“ .html”,而该URL最初没有“ .html”。如果您将其删除,httrack下载的图像将缺少文件扩展名。
更好地使用wget恕我直言