wget - Muitos URLs no arquivo .text - baixar e salvar como


1

Eu tenho 2000 URLs no arquivo excel. As URLs estão na primeira coluna e na segunda há nomes para os arquivos baixados do URL na primeira coluna. Eu posso copiar isso e colar no arquivo .txt se for necessário, sem problemas. Nomes de arquivos contêm espaços. Eu preciso fazer isso no Windows 7. Você poderia me ajudar?

@Editar: Bem, desculpe Se o meu problema não está claro. Eu não sou falante nativo de inglês. Eu tenho URL na primeira coluna e quero salvar o arquivo baixado dessa URL com o nome da segunda coluna. Eu quero que esses espaços estejam lá. Eu quero baixar todos os arquivos com um comando ou arquivo em lote usando a ferramenta "wget".


wget -i vai ler uma lista de URLs de um arquivo, mas não sei como você pode renomeá-los para baixá-los.
Rob

Respostas:


0

Passos

  1. Abra sua planilha no Excel e clique em Arquivar & rightarrow; Salvar como .

  2. Feche o Excel para desbloquear o arquivo.

  3. Escolher CSV (valores separados por vírgula) como tipo e mesmo o seu arquivo como urls.csv.

  4. Abra um prompt de comando, execute

    type urls.csv
    

    e identificar o separador de valores (caractere colocado entre URL e nome do arquivo.

    Se for, por exemplo, um ponto-e-vírgula, execute o seguinte comando:

    for /f "delims=; tokens=1,2" %a in (urls.csv) do @wget -O "%b" "%a"
    

Como funciona

  • O Excel salva as URLs e os nomes correspondentes como valores separados por vírgula (ou ponto-e-vírgula).

    Exemplo:

    http://foo;bar
    http://foo bar;foobar
    
  • for /f ... %a (urls.csv) passa por todas as linhas e salva o primeiro valor em %a e o segundo em %b.

    Aqui, delims=; especifica o ponto e vírgula como separador de valor e token=1,2 especifica que haverá dois tokens.

  • wget -O "%b" "%a" salva %a em %b. Como o URL é citado, o Wget cuidará automaticamente dos espaços e de outros caracteres especiais.

  • o @ em frente de @wget impede que os comandos sejam impressos.

Veja também: Para / f - loop através do texto | SS64.com


O Excel 2010 salva CSVs com vírgulas para mim.
Karan

Excel 2003 parece usar ponto e vírgula.
Dennis

Por que chamá-lo de "C" SV e não SSV ?!
Karan

Ligeiramente enganoso, sim. Outros aplicativos usam guias. Os pontos e vírgulas são geralmente uma escolha melhor, uma vez que é menos provável que ocorram naturalmente nas células. Agora que penso nisso, provavelmente é porque o meu escritório está em espanhol. Usamos a vírgula como um separador decimal, portanto, os CSVs reais seriam uma má escolha ...
Dennis

Eu não acho que é por causa do seu idioma do Office. O Excel simplesmente usa qualquer caractere que você tenha definido como o preferido do seu sistema operacional. Separador de lista sob o painel de controle Região e idioma / Configurações adicionais / Personalizar formato .
Karan

0

Podemos ajuda-lo? Possivelmente, se você realmente disse o que é que você precisa fazer. O que você quer dizer com 'nomes de arquivos'?

Aqui está uma resposta geral. 1) Em um programa de planilha, copie a coluna que contém os dados dos quais você deseja remover espaços. 2) Salve isso em um arquivo .txt. 3) Abra esse arquivo .txt em qualquer programa com pesquisa e substituição de trabalho. 4) Procure por espaços e substitua por _ 5) Salve esse arquivo .txt 6) Abra no seu programa de planilha eletrônica. 7) Você deve ter uma coluna com data_data_data. 8) Copie essa coluna para o seu arquivo original.

Isso resolveria o enigma?


Bem, desculpe Se o meu problema não está claro. Eu não sou falante nativo de inglês. Eu tenho URL na primeira coluna e quero salvar o arquivo baixado dessa URL com o nome da segunda coluna. Eu quero que esses espaços estejam lá. Eu quero baixar todos os arquivos com um comando ou arquivo em lote usando a ferramenta "wget".
user194380

você poderia dar um exemplo para um csv com urls só por favor?
Mike

0

Dizer Input.txt se parece com isso:

http://cdn.sstatic.net/superuser/img/sprites.png sp ri te.png
http://www.google.com/images/srpr/logo3w.png go og le.png

Um único comando como o seguinte:

for /f "tokens=1*" %i in (Input.txt) do wget -O "%j" "%i"

salvará os arquivos como sp ri te.png e vai og le.png respectivamente.

Para usar em um arquivo em lotes, basta dobrar os sinais%.

Nota: Obviamente, as URLs não devem conter espaços. Certifique-se de que eles estão codificados para usar% 20 etc.


Aqui está o exemplo do meu URL, há um redirecionamento, mas o wget não tem problemas com o download. Não há espaços nos URLs. será que vai dar certo? dominiopublico.gov.br/pesquisa/…
user194380

Eu posso (e tentei), mas iria você Gostaria de testar você mesmo em alguns exemplos de URLs e confirmar?
Karan

você poderia dar um exemplo para um csv com urls só por favor?
Mike
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.