[5] Comentário enviado por edgarsj em 15/07/2024 - 12:09h
Olá,
Não tenho muita experiência com o wget e estou precisando de uma ajuda!
Como posso baixar as imagens de um site com a seguinte estrutura:
https://exemplo.com.br/public/files/2024/07/15/exemplo.jpg
Como se pode notar a cada dia é criado uma pasta. Preciso pegar especificamente o arquivo 'exemplo.jpg' desde o ano de 2016, ou todos os 'exemplo.jpg' dentro das subpastas da pasta 'files/'.
Desde já agradeço!!
Um único comando para baixar uma imagem seria assim:
$ wget
https://exemplo.com.br/public/files/ANO/MES/DIA/exemplo.jpg
Mas como é necessário repetir o processo para cara dia, dentro de cada mês, dentro de cada ano, o script precisa de uma condição de repetição. Uma possibilidade é usar o FOR.
Colocarei aqui um exemplo, mas não sei se funciona, pois não tenho acesso ao endereço real.
Crie um arquivo e coloque o conteúdo:
#!/bin/bash
# Loop pelos anos de 2016 a 2024
for ano in {2016..2024}; do
# Loop pelos meses de 01 a 12
for mes in {01..12}; do
# Loop pelos dias de 01 a 31
for dia in {01..31}; do
# Monta a URL completa para o arquivo exemplo.jpg
url="https://exemplo.com.br/public/files/$ano/$mes/$dia/exemplo.jpg"
# Utiliza wget para baixar o arquivo
wget "$url"
# Aguarda 1 segundo entre cada download para não sobrecarregar o servidor
sleep 1
done
done
done
Obs.: na linha da URL substitua pela URL real, mas deixe as variáveis $ano, $mes e $dia.
Salve com um nome qualquer como "baixador.sh" e dê permissão de execução:
$ chmod +x baixador.sh
Execute:
./baixador.sh
Espero que funcione. Se não funcionar, pelo menos servirá de base para você adaptar, melhorar e corrigir.
Pode colar o script no GEMINI e pedir para ele melhorar ou corrigir, explicando o que você quer.