我正在尝试通过使用此(简化)命令过滤掉一些 zip 文件来递归下载网站:
wget <other_args...> --reject 'zip' https://www.domain.tld
这不起作用!Wget 看到指向文件的 URL 是 302 重定向,转到“https://www.domain.tld/html/path/to/file.zip”,并下载 zip 文件而不拒绝该 URL!
这是 wget 正在遵循的请求/响应管道:
- Wget 请求 →
https://www.domain.tld/html/path/to/file.html
(--reject 'zip' 在这里有效) - 服务器响应 →
302 redirect
- Wget 请求 →
https://www.domain.tld/html/path/to/file.zip
(--reject 'zip' 在这里不起作用)
这也不起作用--reject-regex '\.zip$
,因为我也尝试过了!
我被困在这里,我使用的最新版本(1.21.2)没有按 mime 类型(application/zip)过滤 URL 的选项。
一种解决方法是使用最新的 wget 2.0,它提供 mime 类型过滤功能,但我使用 wget 来生成 warc 文件,而当前 2.0 版本尚不支持该文件(wget/libwarc 可用但未集成)。
也许我做错了什么,你有什么提示或解决方案吗?
谢谢!