salvando vários arquivos com cURL

1

Eu tenho esta lista de URLs em um arquivo .txt - que eu suponho para obter conteúdo deles. Para conseguir isso, decidi usar o cURL. Com xargs curl & lt; url-list.txt , eu posso exibir todo o conteúdo do URL dentro do meu terminal. Com o curl -o myFile.html www.example.com , só posso salvar um arquivo.

Existe também a abordagem curl -O URL1 -O URL2 , mas será demasiado longo para o fazer.

Como posso salvar vários arquivos de uma só vez ?

Editar:

#!/bin/bash
file="filename"

while read line
do 
  curl -o "$line.html" "$line"
done < "$file"

eu corro a tela de bash acima e aqui está o que aconteceu:

    
por Timur Aykut YILDIRIM 01.07.2014 / 14:02

2 respostas

1

Crie um script bash para percorrer sua lista de URLs e executar o comando curl.

#!/bin/bash
file="filename"

while read line
do 
  outfile=$(echo $line | awk 'BEGIN { FS = "/" } ; {print $NF}')
  curl -o "$outfile.html" "$line"
done < "$file"
    
por dan08 01.07.2014 / 15:10
1

Embora a abordagem mais simples seja criar um script de loop conforme sugerido por @ dan08, se os links que você precisa baixar forem consecutivos, por exemplo:

http://www.host.com/page-1.html
http://www.host.com/page-2.html

e assim por diante, você pode usar o comando curl como este:

curl "http://www.host.com/page-[1-30].html" -o "# 1.html" #(30 is indicative)

isto irá criar os arquivos consecutivamente, usando o valor do intervalo atual no lugar de # 1 no nome do arquivo.

    
por girardengo 01.07.2014 / 15:57