2009-07-03 9 views
430

ファイルを/ tmp/cron_test /にダウンロードする必要があります。私のwgetコードはwgetで場所を指定する方法は?

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

です。ディレクトリを指定するパラメータはありますか?

+1

:[カレントディレクトリとは異なるディレクトリにwgetコマンドを使用してダウンロード](HTTP://unix.stackexchange .com/q/23501/21471)。 – kenorb

答えて

645

マニュアルページから:

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

つまり、あなたのコマンドに-P /tmp/cron_test/を追加する必要があります。

+13

-Pは--directory-prefixの短縮形です – nik

+2

-P/tmp/cron_test/doesntは動作しますが、-P tmp/cron_test /のように動作し、存在しないディレクトリも作成します。 – Kangarooo

+5

カンガルーあなたのシステムに/ tmp/cron_test /を持っていないので、カンガルーはおそらく動作しません:P – Sameer

-7

は、この方法を試してみてください -

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)) 
+0

これは必要以上に複雑なものです。 – Adam

+0

Wayyyyyyは必要以上に複雑です。なぜPythonを使うの? OPが明らかにBASHを使用しているので、これは質問に答えません。 –

187

-Oは、あなたがダウンロードしたいファイルのパスを指定するオプションです。

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

-Pが、それはあなたがすべての最初にダウンロードしているものは何でものための正しいURLを持っていることを確認し

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

'/ path/to/folder /'に後ろにスラッシュを入れてください。 –

+7

Upは私が必要としなかった '-O'を指定して投票しましたが、' -P'が必要だった。私のマシン上のマニュアルページごとに@louisMaddoxの – WORMSS

+0

、デフォルトの接頭辞は "。" (すなわち、現在のディレクトリ)に "directory prefix"にスラッシュを追加すると、セマンティクスを考慮して二重スラッシュエラー(my/favorite/dir/prefix //)が発生します。後続のスラッシュ。 –

4

ディレクトリ内のファイルをダウンロードする接頭辞で、'?'などのような文字を含むURL解析できず、解決されなければ、これはcmd行を混乱させ、あなたがダウンロードしているファイル名としてソースurl名に解決されていない文字を受け入れます。

つまり、wget "sourceforge.net/projects/ebosse/files/latest/download?source=typ_redirect"は、?source=typ_redirectという名前のファイルにダウンロードされます。

あなたが知っているように、URLに関することは、wgetを理解するのに役立ちます。

私はhirensディスクから起動しており、リソースとしてLinux 2.6.1しか持っていません(インポートは利用できません)。 、物理ハードドライブにISOイメージをダウンロードし、私の問題を解決した正しい構文:

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

1は「index.htmlを」という名前のファイルにどのような点でのwgetのダウンロードを見つけることによって、正しいURLを見つけ出すことができ(デフォルトのファイル)、および正しいサイズ/次のコマンドで示す必要なファイルの他の属性があります。そのURLとソースファイルたら

wget "(source url)" 

を正しく、それはindex.htmlをにダウンロードしている、あなたが停止することができますダウンロード(ctrl + z)し、ソースURLの後に -O "<specified download directory>/filename.extension"を使用して出力ファイルを変更します。

私の場合、これはisoをダウンロードしてisofile.isoのバイナリファイルとして保存します。これはうまくいけばマウントされます。

-1

男のwget: --output-文書-Oファイル =ファイル

wget "url" -O /tmp/cron_test/<file> 
UnixのSEで同様の
+0

-oオプションを指定すると、指定されたファイルにdounloadedファイルが置かれます。しかし、質問は "フォルダにファイルを置く方法"です。これは重複して存在する答えです –