如何让 wget 只遵循一小组路径

如何让 wget 只遵循一小组路径

试图让 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

相关内容