Como baixar um site completo, mas ignorando todos os arquivos binários.
wget
possui essa funcionalidade usando o -r
sinalizador, mas faz o download de tudo e alguns sites são demais para uma máquina com poucos recursos e não são de uso pelo motivo específico em que estou baixando o site.
Aqui está a linha de comando que eu uso: wget -P 20 -r -l 0 http://www.omardo.com/blog
(meu próprio blog)
wget
recursive
download
mime-types
Omar Al-Ithawi
fonte
fonte
Respostas:
Você pode especificar uma lista de resp permitido. padrões de nome de arquivo não permitidos:
Permitido:
Não permitido:
LIST
é uma lista separada por vírgula de extensões / padrões de nome de arquivo.Você pode usar os seguintes caracteres reservados para especificar padrões:
*
?
[
]
Exemplos:
-A png
-R css
-R avatar*.png
Se o arquivo não tiver extensão resp. o nome do arquivo não tem um padrão que você possa usar; você precisará da análise do tipo MIME, eu acho (consulte a resposta de Lars Kotthoffs ).
fonte
Você pode tentar corrigir o wget com isso (também aqui ) para filtrar por tipo MIME. Agora, esse patch é bastante antigo, portanto pode não funcionar mais.
fonte
Um novo Wget (Wget2) já possui o recurso:
O Wget2 não foi lançado a partir de hoje, mas será em breve. O Debian instável já possui uma versão alfa.
Veja https://gitlab.com/gnuwget/wget2 para mais informações. Você pode postar perguntas / comentários diretamente para [email protected].
fonte
Eu tentei uma abordagem totalmente diferente é usar o Scrapy, no entanto, ele tem o mesmo problema! Aqui está como eu o resolvi: SO: Python Scrapy - filtro baseado em mimetype para evitar downloads de arquivos que não sejam de texto?
fonte