Pergunta

Eu preciso arquivos a serem baixados para / tmp / cron_test /. Meu código wget é

wget --random-wait -r -p -nd -e robots=off -A".pdf" -U mozilla http://math.stanford.edu/undergrad/

Então, há algum parâmetro para especificar o diretório?

Foi útil?

Solução

A partir da página manual:

-P prefix
--directory-prefix=prefix
           Set directory prefix to prefix.  The directory prefix is the
           directory where all other files and sub-directories will be
           saved to, i.e. the top of the retrieval tree.  The default
           is . (the current directory).

Então, você precisa adicionar -P /tmp/cron_test/ (forma abreviada) ou --directory-prefix=/tmp/cron_test/ (forma longa) para o seu comando. Observe também que se o diretório não existir, ele irá ser criada.

Outras dicas

-O é a opção para especificar o caminho do arquivo que você deseja baixar para.

wget <file.ext> -O /path/to/folder/file.ext

-P é prefixo onde ele irá baixar o arquivo no diretório

wget <file.ext> -P /path/to/folder

Certifique-se de que você tem a URL correta para o que você está baixando. Primeiro de tudo, URLs com personagens como ? e tal não pode ser analisado e resolvido. Isso vai confundir a linha cmd e aceito quaisquer caracteres que não são resolvidos no nome URL de origem, como o nome do arquivo que você está baixando em.

Por exemplo:

wget "sourceforge.net/projects/ebosse/files/latest/download?source=typ_redirect"

irá baixar em um arquivo chamado, ?source=typ_redirect.

Como você pode ver, saber uma coisa ou duas sobre URLs ajuda a entender wget.

Estou inicialização a partir de um disco Hirens e só tinha Linux 2.6.1 como um recurso (import os está indisponível). A sintaxe correta que resolveu o meu problema baixando um ISO no disco rígido físico era:

wget "(source url)" -O (directory where HD was mounted)/isofile.iso" 

Pode-se descobrir a URL correta por encontrar em que ponto de downloads wget em um index.html arquivo chamado (o arquivo padrão), e tem o tamanho correto / outros atributos do arquivo que você precisa mostrado pelo seguinte comando:

wget "(source url)"

Uma vez que esse arquivo URL e fonte está correta e ele está baixando em index.html, você pode parar o download ( Ctrl + z ) e altere o arquivo de saída usando:

-O "<specified download directory>/filename.extension"

após a url fonte.

No meu caso isso resulta em download de um ISO e armazená-lo como um arquivo binário sob isofile.iso, que esperamos montagens.

man wget: -o arquivo --output-document = arquivo

wget "url" -O /tmp/cron_test/<file>

tentar este método -

import os
path = raw_input("enter the url:")
fold = raw_input("enter the folder:")
os.system('wget -r -nd -l1 -P %s --no-parent -A mp3 %s'%(fold, path))
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top