Pular para o conteúdo

Filtrando links jogando a saida para um arquivo

Responder tópico
  • Denunciar
  • Indicar
01 02

1. Filtrando links jogando a saida para um arquivo

Enviado em 15/02/2024 - 01:48h

Ola galera beleza?

neste link tem 130 videos do anime thundercats mas está em espanhol,
preciso criar um arquivo com a lista de links para donload como faço isso?

o link é este abaixo:
https://archive.org/details/thundercats_202303/

wiki.anon

Responder tópico

2. Re: Filtrando links jogando a saida para um arquivo

Enviado em 15/02/2024 - 15:43h

Veja se atende:
curl -s https://archive.org/details/thundercats_202303 | grep -o 'href="/download/thundercats_202303/.*\.mp4"' | sed 's/^href="\/download\/\(.*\)"/https:\/\/archive.org\/details\/\1/g' > links.txt 

3. Re: Filtrando links jogando a saida para um arquivo

Enviado em 15/02/2024 - 19:57h

dark777 escreveu:


tipoff escreveu:

Veja se atende:
curl -s https://archive.org/details/thundercats_202303 | grep -o 'href="/download/thundercats_202303/.*\.mp4"' | sed 's/^href="\/download\/\(.*\)"/https:\/\/archive.org\/details\/\1/g' > links.txt 


atendeu criando o arquivo com os links porem ao fazer o download ele nao esta baixando corrompidos, ao colar o link no navegador ele redireionou para

https://ia802606.us.archive.org/12/items/thundercats_202303/ 

ai sim esta baixando como fazer o curl pegar isso?

wiki.anon

Ele fez usando expressões regulares, com sed e grep.


4. Re: Filtrando links jogando a saida para um arquivo

Enviado em 15/02/2024 - 20:22h

@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.


5. Re: Filtrando links jogando a saida para um arquivo

Enviado em 15/02/2024 - 20:29h

Criando o script automático.

curl -s https://archive.org/details/thundercats_202303 | grep -o 'href="/download/thundercats_202303/.*\.mp4"' | sed 's/^href="\/download\/\(.*\)"/https:\/\/archive.org\/details\/\1/g;s/^/wget -c /;1i #!/usr/bin/env bash' >>./links.txt 

6. Re: Filtrando links jogando a saida para um arquivo

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

8. Re: Filtrando links jogando a saida para um arquivo

Enviado em 15/02/2024 - 21:53h

Corrigi aqui com o link certo, veja se resolve:

1) Para baixar um por um:
mkdir -p thundercats && for link in $(curl -s https://archive.org/details/thundercats_202303 | grep -o 'href="/download/thundercats_202303/.*\.mp4"' | sed 's/^href="\/download\/\(.*\)"/https:\/\/ia902606.us.archive.org\/12\/items\/\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 


2) Para gerar um arquivo com todos os links:
curl -s https://archive.org/details/thundercats_202303 | grep -o 'href="/download/thundercats_202303/.*\.mp4"' | sed 's/^href="\/download\/\(.*\)"/https:\/\/ia902606.us.archive.org\/12\/items\/\1/g' > links.txt 


9. Re: Filtrando links jogando a saida para um arquivo

Enviado em 15/02/2024 - 21:57h



O primeiro link faz um redirect para o segundo, então quando acessamos: https://archive.org/download/thundercats_202303, ele manda pra esse: https://ia902606.us.archive.org/12/items/thundercats_202303

Bom, aqui baixou um por um os vídeos, só não sei para quê ele quer esse arquivo de links, se o objetivo é baixar tudo mesmo lol

10. Re: Filtrando links jogando a saida para um arquivo

Enviado em 15/02/2024 - 22:05h

A, ele deve é estar estudando.

11. Re: Filtrando links jogando a saida para um arquivo

Enviado em 16/02/2024 - 00:01h




tem sim quando executei o comando para baixar a lista com estes links dentro do arquivo:
https://archive.org/download/thundercats_202303/Thundercats%20%28S01E001%29%20-%20Exodo.mp4 


ocrreu erro em todos os videos baixando apenas um arquivo html embebed de cada um.

e com estes links nao ocorreu este erro:
https://ia902606.us.archive.org/12/items/thundercats_202303/Thundercats%20%28S01E001%29%20-%20Exodo.... 


se ambos sao os mesmos entao pq quando executa o link abaixo no navegador:
https://archive.org/download/thundercats_202303/Thundercats%20%28S01E001%29%20-%20Exodo.mp4 


ele redireciona para o link abaixo?
https://ia902606.us.archive.org/12/items/thundercats_202303/Thundercats%20%28S01E001%29%20-%20Exodo.... 


wiki.anon

12. Re: Filtrando links jogando a saida para um arquivo

Enviado em 16/02/2024 - 00:27h


tipoff escreveu:



O primeiro link faz um redirect para o segundo, então quando acessamos: https://archive.org/download/thundercats_202303, ele manda pra esse: https://ia902606.us.archive.org/12/items/thundercats_202303

Bom, aqui baixou um por um os vídeos, só não sei para quê ele quer esse arquivo de links, se o objetivo é baixar tudo mesmo lol


Acontece que eu criei uma lista com estes links:

https://archive.org/download/thundercats_202303/Thundercats%20%28S01E001%29%20-%20Exodo.mp4


e executei este comando no arquivo com eles e baixou tudo corrompido

wget -i links.txt


wiki.anon
01 02

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder