2017-04-07 5 views
1

新しいファイルをダウンロードするためにpythonパッケージを使用しようとしています。私ができることは、pythonで新しいファイル(wget -N)をダウンロードするだけです。

outdir = "" 
url = "" 
filename = wget.download(url, out=outdir) 

のようにダウンロードするだけですが、どうすれば新しいファイルをダウンロードするようにwgetに伝えることができますか? コマンドラインでは、私は新しいファイルのみをダウンロードし

wget -N url 

でそれをやりました。 Pythonパッケージwgetは、-Nフラグに相当するものがないようですか? 誰かが、これを行うためのwgetでPythonを実行する方法があるのか​​、それを行うことができる別のPythonパッケージがあるのか​​を知っていますか?

+0

Windowを使用していますか? – John

答えて

1

あなたが話しているwgetライブラリの場合は、wgetのラッパーではなく、urllibの上に構築されています。だから、あなたには2つの選択肢があります。

  • このライブラリで-N機能を使用するには、自分で実装する必要があります。 Hereは、どのように新しいファイルが何であるかを決定する方法です(wget)。これを達成するために使用される3つの異なるテクニックがあります。それは、まだ存在していないファイル名を探します。 HTTPの場合、Last-Modifiedヘッダーが検索されます。 FTPの場合、LISTコマンドを使用して、出力がls -lコマンドと同じ出力であるかのように出力を解析しようとします。

  • パスにwgetが実行可能なシステムでこのスクリプトを実行すると、サブプロセスを使用できます。

ここにコードがあります。

import subprocess 
url = '' 
subprocess.Popen(['wget', '-N', url]) 
関連する問題