wget 从包含大量链接的页面递归下载

wget 从包含大量链接的页面递归下载

当使用启用了递归选项的 wget 下载文件时,我收到一条错误消息。它认为该链接是一个可下载的文件,但实际上它应该只是跟随它才能到达真正包含我想要的文件(或更多要跟随的链接)的页面。

wget -r -l 16 --accept=jpg website.com

错误消息是:.... 因为它应该被拒绝。这通常发生在它尝试获取的网站链接以 sql 语句结尾时。但是,当在该链接上使用完全相同的 wget 命令时,问题不会发生。我想知道它究竟是如何尝试获取页面的。我想我总是可以仔细研究一下源代码,尽管我不知道这个项目有多混乱。我可能还不知道 wget 上下文中“递归”的确切含义。我以为它会遍历并遍历每个链接,获取具有我请求的扩展名的文件。

我在 stackOverFlow 上发布了这个问题,但他们把我转到了这里:)希望你们能帮忙。

编辑:错误信息的输出

2010-04-13 16:54:47 (128 KB/s) - `somewebsite.com/index.php?id=917218' saved [10789]

Removing somewebsite.com/index.php?id=917218 since it should be rejected.

我宁愿不透露该网站的来源:)

答案1

正如 Hugh Allen 指出的那样,使用 just--accept=jpg就可以让 wget 加载仅有的扩展名为 .jpg 的文件(以及始终会获取的 .htm、.html)。这就是 wget 告诉您它将删除 php 文件的原因。因此请尝试使用--accept=jpg,php或类似命令。

查看wget 手册了解详情。我建议你读一下,因为它详细解释了整个接受/拒绝机制。

答案2

“也许”--accept=jpg意味着拒绝其他一切。

相关内容