Como eu uso o Wget para baixar todas as imagens em uma única pasta, a partir de um URL?

Estou usando o wget para baixar todas as imagens de um site e funciona bem, mas armazena a hierarquia original do site com todas as subpastas e, portanto, as imagens são salpicadas. Existe uma maneira de baixar apenas todas as imagens em uma única pasta? A syntax que estou usando no momento é:

wget -r -A jpeg,jpg,bmp,gif,png http://www.somedomain.com 

    Tente isto:

     wget -nd -r -P /save/location -A jpeg,jpg,bmp,gif,png http://www.somedomain.com 

    Aqui está mais informação:

    -nd impede a criação de uma hierarquia de diretórios (ou seja, nenhum diretório ).

    -r ativa a recuperação recursiva. Veja Download Recursivo para mais informações.

    -P define o prefixo do diretório onde todos os arquivos e diretórios são salvos.

    -A define uma lista de desbloqueio para recuperar apenas determinados tipos de arquivo. Strings e padrões são aceitos e ambos podem ser usados ​​em uma lista separada por vírgulas (como visto acima). Veja Tipos de Arquivos para mais informações.

     wget -nd -r -l 2 -A jpg,jpeg,png,gif http://t.co 
    • -nd : sem diretórios (salve todos os arquivos no diretório atual; o -P directory altera o diretório de destino)
    • -r -l 2 : nível recursivo 2
    • -A : extensões aceitas
     wget -nd -H -p -A jpg,jpeg,png,gif -e robots=off example.tumblr.com/page/{1..2} 
    • -H : hosts span (o wget não faz o download de arquivos de diferentes domínios ou subdomínios por padrão)
    • -p : requisitos de página (inclui resources como imagens em cada página)
    • -e robots=off : executa o comando robotos=off como se fosse parte do arquivo .wgetrc . Isso desativa a exclusão do robô, o que significa que você ignora o robots.txt e as meta tags do robô (você deve saber as implicações que isso implica, tenha cuidado).

    Exemplo: obtenha todos os arquivos .jpg de uma lista de diretórios exemplificativa:

     $ wget -nd -r -l 1 -A jpg http://example.com/listing/ 

    Eu escrevi um shellscript que resolve esse problema para vários sites: https://github.com/eduardschaeli/wget-image-scraper

    (Recorta imagens de uma lista de URLs com wget)

    Tente este:

     wget -nd -r -P /save/location/ -A jpeg,jpg,bmp,gif,png http://www.domain.com 

    e espere até que elimine todas as informações extras

    De acordo com a man page, a bandeira -P é:

    -P prefixo –directory-prefix = prefixo Defina o prefixo do diretório como prefixo. O prefixo do diretório é o diretório onde todos os outros arquivos e subdiretórios serão salvos, isto é, o topo da tree de recuperação. O padrão é. (o diretório atual).

    Isso significa que ele especifica apenas o destino, mas onde salvar a tree de diretórios. Não achata a tree em apenas um diretório . Como mencionado antes, o sinalizador -nd realmente faz isso.

    @Jon no futuro seria benéfico descrever o que a bandeira faz para entendermos como algo funciona.

    As soluções propostas são perfeitas para baixar as imagens e se for o suficiente para salvar todos os arquivos no diretório que você está usando. Mas se você quiser salvar todas as imagens em um diretório especificado sem reproduzir toda a tree hierárquica do site, tente adicionar “cut-dirs” à linha proposta por Jon.

     wget -r -P /save/location -A jpeg,jpg,bmp,gif,png http://www.boia.de --cut-dirs=1 --cut-dirs=2 --cut-dirs=3 

    neste caso, os cut-dirs impedirão a criação de subdiretórios até o 3º nível do dept na tree hierárquica do site, salvando todos os arquivos no diretório especificado. Você pode adicionar mais ‘cut-dirs’ com números maiores se você está lidando com sites com uma estrutura profunda.

    O utilitário wget recupera arquivos da World Wide Web (WWW) usando protocolos amplamente utilizados, como HTTP, HTTPS e FTP. O utilitário Wget é um pacote disponível gratuitamente e a licença está sob a licença GNU GPL. Este utilitário pode ser instalado em qualquer sistema operacional similar ao Unix, incluindo Windows e MAC OS. É uma ferramenta de linha de comando não interativa. A principal característica do Wget é sua robustez. Ele é projetado de tal forma que funciona em conexões de rede lentas ou instáveis. Wget iniciar automaticamente o download onde foi deixado em caso de problema de rede. Também faz o download do arquivo recursivamente. Ele continuará tentando até que o arquivo seja recuperado completamente.

    Instale o wget na máquina linux sudo apt-get install wget

    Crie uma pasta onde você deseja baixar arquivos. sudo mkdir myimages cd myimages

    Clique com o botão direito do mouse na página da Web e, por exemplo, se você quiser a localização da imagem, clique com o botão direito do mouse na imagem e copie o local da imagem. Se houver várias imagens, siga as instruções abaixo:

    Se houver 20 imagens para baixar da web de uma só vez, o intervalo começa de 0 a 19.

    wget http://sofpt.miximages.com/wget/img {0..19} .jpg