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?
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))