1. ホーム
  2. python

[解決済み] 指定された wget コマンドの Python 等価版

2022-03-04 13:17:30

質問

このwgetコマンドと同じことをするPythonの関数を作ろうとしています。

wget -c --read-timeout=5 --tries=0 "$URL"

-c - ダウンロードが中断された場合、中断したところから続けます。

--read-timeout=5 - 5秒以上新しいデータが入ってこない場合は、あきらめて再試行してください。 与えられた -c これは、中断したところから再試行することを意味します。

--tries=0 - 永遠にリトライする。

この3つの引数を併用することで、失敗のないダウンロードが可能になります。

これらの機能をPythonスクリプトで再現したいのですが、何から始めればいいのかわかりません...。

解決方法は?

urllib.request は動作するはずです。 while(not done) ループでセットアップして、ローカルファイルがすでに存在するかどうかをチェックし、存在する場合は RANGE ヘッダ付きの GET を送り、ローカルファイルをどこまでダウンロードしたかを指定するだけです。 エラーが発生するまで、必ずread()を使ってローカルファイルに追加してください。

これはまた、潜在的に Python urllib2 resume download doesn't work when network reconnects