¿Cómo se le indica a wget que rastree recursivamente un sitio web y solo descargue ciertos tipos de imágenes?
Intenté usar esto para rastrear un sitio y solo descargar imágenes JPEG:
wget --no-parent --wait=10 --limit-rate=100K --recursive --accept=jpg,jpeg --no-directories http://somedomain/images/page1.html
Sin embargo, aunque page1.html contiene cientos de enlaces a subpáginas, que a su vez tienen enlaces directos a imágenes, wget informa cosas como "Eliminar subpage13.html ya que debe ser rechazado", y nunca descarga ninguna imagen, ya que ninguna está directamente vinculada a desde la página de inicio.
Supongo que esto se debe a que mi --acepto se está utilizando para dirigir el rastreo y filtrar contenido para descargar, mientras que quiero que se use solo para dirigir la descarga de contenido. ¿Cómo puedo hacer que wget rastree todos los enlaces, pero solo descargue archivos con ciertas extensiones como * .jpeg?
EDITAR: Además, algunas páginas son dinámicas y se generan a través de un script CGI (por ejemplo, img.cgi? Fo9s0f989wefw90e). Incluso si agrego cgi a mi lista de aceptación (por ejemplo, --accept = jpg, jpeg, html, cgi), estos siempre se rechazan. ¿Hay alguna forma de evitar esto?
¿Cómo espera que wget conozca el contenido de subpage13.html (y, por lo tanto, los archivos jpg a los que enlaza) si no está permitido descargarlo? Le sugiero que permita html, obtenga lo que desea y luego elimine lo que no desea.
No estoy muy seguro de por qué se rechazan sus CGI ... ¿Hay algún error de wget? Quizás haga wget verbose (
-v
) y vea. Podría ser mejor como una pregunta separada.Dicho esto, si no le importa el ancho de banda y los lotes de descarga, elimine lo que no desea después, no importa.
También echa un vistazo
--html-extension
Desde la página del manual:
--restrict-file-names=unix
también podría ser útil debido a esas URL de cgi ...fuente
--no-parent
pero me detendré allí.También puede usar MetaProducts Offline Explorer sin programar
fuente
Intenta agregar la
--page-requisites
opciónfuente