Cómo descargar un sitio web completo, pero ignorando todos los archivos binarios.
wget
tiene esta funcionalidad usando la -r
bandera pero descarga todo y algunos sitios web son demasiado para una máquina de bajos recursos y no es útil por la razón específica por la que estoy descargando el sitio.
Aquí está la línea de comando que uso: wget -P 20 -r -l 0 http://www.omardo.com/blog
(mi propio blog)
wget
recursive
download
mime-types
Omar Al-Ithawi
fuente
fuente
Respuestas:
Puede especificar una lista de resp. Permitidas patrones de nombre de archivo no permitidos:
Permitido:
No permitido:
LIST
es una lista separada por comas de patrones / extensiones de nombre de archivo.Puede usar los siguientes caracteres reservados para especificar patrones:
*
?
[
]
Ejemplos:
-A png
-R css
-R avatar*.png
Si el archivo no tiene extensión resp. Supongo que el nombre del archivo no tiene un patrón que pueda usar, necesitaría el análisis de tipo MIME (vea la respuesta de Lars Kotthoff ).
fuente
Puede intentar parchear wget con esto (también aquí ) para filtrar por tipo MIME. Sin embargo, este parche es bastante antiguo, por lo que es posible que ya no funcione.
fuente
Un nuevo Wget (Wget2) ya tiene características:
Wget2 no se ha lanzado a partir de hoy, pero lo será pronto. Debian inestable ya tiene una versión alfa enviada.
Mire https://gitlab.com/gnuwget/wget2 para obtener más información. Puede publicar preguntas / comentarios directamente a [email protected].
fuente
He intentado un enfoque totalmente diferente: usar Scrapy, ¡pero tiene el mismo problema! Así es como lo resolví: SO: Python Scrapy - filtro basado en mimetype para evitar descargas de archivos que no sean de texto?
fuente