【发布时间】:2019-04-14 10:20:28
【问题描述】:
我想从诸如 https://dummy.site.com/aabbcc/xyz/2017/09/15/2194812/O7ca217a71ac444eda516d8f78c29091a.pdf 这样的网址下载多个 pdf 文件
如果我在完整的 URL 上执行 wget,那么它会下载文件 wget https://dummy.site.com/aabbcc/xyz/2017/09/15/2194812/O7ca217a71ac444eda516d8f78c29091a.pdf
但是如果我尝试递归下载整个文件夹,那么它会返回 403(禁止访问)
wget -r https://dummy.site.com/aabbcc/xyz/
我尝试过设置用户代理,拒绝 robots.txt 和来自互联网的其他解决方案,但我又回到了同一点。
所以我想形成所有可能的 URL 列表,将给定的 URL 视为常见模式,但不知道该怎么做。
我只知道我可以将该文件作为输入传递给 wget,它将递归下载文件。因此,在此处寻求使用 regEx 形成 URL 列表的帮助。 谢谢!
【问题讨论】:
-
正则表达式不会生成可能的匹配。它匹配现有的个。
-
是的,很抱歉造成混乱。我想要的是一个脚本,它将遍历通用模式(我假设可以使用正则表达式完成)并生成所有 URL 组合,这些组合可以传递给 wget,它将从实际存在的 URL 下载,或者继续前进。
-
wget 只是跟随链接——如果你只是将它指向某个 URL,它就无法神奇地找到任何有效的子 URL,如果没有目录列表(在大多数现代网站上)它可能能够下载不会有)。
标签: regex shell cygwin wget http-status-code-403