dark777
(usa Debian)
Enviado em 15/02/2024 - 21:21h
tipoff escreveu:
@dark777, se a ideia é baixar um por um através de script, então precisaria fazer um ajuste no script que mandei para pegar o link direto do arquivo do servidor ao invés de trazer somente os links da página.
Fiz o ajuste para pegar o link direto e baixar um por um com wget. Se quiser fazer com curl, basta fazer a troca:
mkdir thundercats && for link in $(curl -s https://archive.org/details/thundercats_202303 | grep -o 'href="/download/thundercats_202303/.*\.mp4"' | sed 's/^href="\(.*\)"/https:\/\/archive.org\1/g'); do file="$(basename "$link" | sed 's/%20/_/g;s/%\(29\|28\)//g')"; echo Baixando ${file}...; wget -O thundercats/${file} -c --timeout=10 -q $link; done
Alguns parâmetros que adicionei ao wget são:
-c continua o download do arquivo parcial caso tenha alguma interrupção da conexão com o servidor. Útil para baixar arquivos grandes.
--timeout=10 aguarda até 10 segundos em espera para iniciar o download. Útil caso o servidor demore alguns segundos antes para responder.
Sua sugestão funcionou mas eu tente salvar um arquivo com os links que ele busca ete tentei algo como isso:
Adicionando:
echo $link > links.txt
for link in $(curl -s https://archive.org/details/thundercats_202303 | grep -o 'href="/download/thundercats_202303/.*\.mp4"' | sed 's/^href="\(.*\)"/https:\/\/archive.org\1/g'); do file="$(basename "$link" | sed 's/%20/_/g;s/%\(29\|28\)//g')"; echo Baixando ${file}...; wget -O ${file} -c --timeout=10 $link; echo "$link" > links.txt; done
Mas ele esta salvando a lista de links que deu falha com estes links:
https://archive.org/download/thundercats_202303/Thundercats%20%28S01E001%29%20-%20Exodo.mp4
e preciso salvar um arquivo com estes links:
https://ia902606.us.archive.org/12/items/thundercats_202303/Thundercats%20%28S01E001%29%20-%20Exodo....
tem como fazer isso dentro deste comando?
wiki.anon