
Ao usar o wget com a opção recursiva ativada, recebo uma mensagem de erro ao tentar baixar um arquivo. Ele acha que o link é um arquivo para download, quando na realidade deveria apenas segui-lo para chegar à página que realmente contém os arquivos (ou mais links a seguir) que desejo.
wget -r -l 16 --accept=jpg website.com
A mensagem de erro é: .... pois deveria ser rejeitada. Isso geralmente ocorre quando o link do site que ele está tentando buscar termina com uma instrução sql. O problema, entretanto, não ocorre ao usar o mesmo comando wget nesse link. Quero saber exatamente como ele está tentando buscar as páginas. Acho que sempre posso dar uma olhada na fonte, embora não saiba o quão confuso é o projeto. Também posso estar perdendo exatamente o que "recursivo" significa no contexto do wget. Achei que iria percorrer e viajar em cada link obtendo os arquivos com a extensão que solicitei.
Postei isso no stackOverFlow, mas eles me entregaram aqui :) Espero que vocês possam ajudar.
EDIT: Saída de mensagem de erro
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.
Prefiro não revelar a origem do site :)
Responder1
Como apontado por Hugh Allen, usar apenas --accept=jpg
fará com que o wget carregueapenasarquivos com extensão .jpg (e .htm, .html, que são sempre buscados). É por isso que o wget informa que removerá o arquivo php. Então tente usar --accept=jpg,php
ou similar.
Veja omanual do wgetpara detalhes. Recomendo que você leia, pois explica todo o mecanismo de aceitação/rejeição detalhadamente.
Responder2
Talvez --accept=jpg
signifique rejeitar todo o resto.