
Cuando uso wget con la opción recursiva activada, aparece un mensaje de error cuando intento descargar un archivo. Piensa que el enlace es un archivo descargable cuando en realidad debería seguirlo para llegar a la página que realmente contiene los archivos (o más enlaces a seguir) que quiero.
wget -r -l 16 --accept=jpg website.com
El mensaje de error es: .... ya que debería ser rechazado. Esto suele ocurrir cuando el enlace del sitio web que intenta recuperar termina con una declaración SQL. Sin embargo, el problema no ocurre cuando se usa el mismo comando wget en ese enlace. Quiero saber exactamente cómo intenta recuperar las páginas. Supongo que siempre podría echar un vistazo a la fuente, aunque no sé qué tan complicado es el proyecto. Es posible que también me esté perdiendo exactamente qué significa "recursivo" en el contexto de wget. Pensé que se ejecutaría y viajaría en cada enlace obteniendo los archivos con la extensión que he solicitado.
Publiqué esto en stackOverFlow pero me entregaron aquí :) Espero que puedan ayudar.
EDITAR: Salida del mensaje de error
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.
Prefiero no revelar la fuente del sitio web :)
Respuesta1
Como señaló Hugh Allen, usar just --accept=jpg
hará que wget se carguesoloarchivos con extensión .jpg (y .htm, .html, que siempre se recuperan). Es por eso que wget te dice que eliminará el archivo php. Intente utilizar --accept=jpg,php
o similar.
Ver elmanual de wgetpara detalles. Te recomiendo que lo leas, ya que explica todo el mecanismo de aceptación/rechazo con gran detalle.
Respuesta2
Quizás --accept=jpg
signifique rechazar todo lo demás.