试图让 wget 处理某种复杂的情况。基本上我希望它只允许适合该系统的文件/文件夹:
https://example.com/top/a-file
https://example.com/top/a-file.ext
https://example.com/top/nested/directory/one.ext
https://example.com/top/another/nested/dir/two?maybe=paramsToo
我不希望它遵循这样的路径:
https://example.com/
https://example.com/a-file
https://example.com/a-file.ext
https://example.com/top/
https://example.com/top/directory/
https://example.com/top/directory/one.ext
https://example.com/top/another/deeply/nested/direct/two?maybe=paramsToo
基本上,我只想让它处理这个:
/top/:file
/top/nested/directory/:file
/top/another/nested/dir/:file
允许这些特定路径。
在这些路径中,我还想只允许特定文件(.html、.js、.css 或无扩展名)。
我尝试的是这样的:
wget --no-parent -r -R .zip,.tar,.gz,.jpghttps://example.com/top
这部分有效,但在这种情况下除外:当前正在评估此页面时:
https://example.com/top/nested/directory/one.ext
...该页面链接在这里:
https://example.com/top/a-file
...该--no-parent
选项阻止它上升到父级。我想要的--no-parent
选项只是不允许继续前进/top
,但它似乎是相对于当前评估的页面,这没有意义。
我知道要-X
排除特定的文件夹/路径,但我不知道它可能遇到的所有可能的路径,所以我不知道要排除什么。
所以想知道如何实现这一点。
答案1
取决于它如何将您重定向到https://example.com/top/a-file,你有没有尝试过使用
--max-redirect 0