当使用启用了递归选项的 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
意味着拒绝其他一切。