で複数のURLのをダウンロードしない私は、次の完全に機能し、動作するコードがあります。Pythonの、基本的な質問:どのように私はurllib.request.urlretrieve
import urllib.request
import zipfile
url = "http://url.com/archive.zip?key=7UCxcuCzFpYeu7tz18JgGZFAAgXQ2sop"
filename = "C:/test/archive.zip"
destinationPath = "C:/test"
urllib.request.urlretrieve(url,filename)
sourceZip = zipfile.ZipFile(filename, 'r')
for name in sourceZip.namelist():
sourceZip.extract(name, destinationPath)
sourceZip.close()
をそれが動作する数回を完璧ますが、理由は、サーバI私は、毎日の限界に達すると、いくつかの制限があるからファイルを取得しています、私はこのエラーが表示されます。それは、複数のURLのリストを含むように
Traceback (most recent call last):
File "script.py", line 11, in <module>
urllib.request.urlretrieve(url,filename)
File "C:\Python32\lib\urllib\request.py", line 150, in urlretrieve
return _urlopener.retrieve(url, filename, reporthook, data)
File "C:\Python32\lib\urllib\request.py", line 1591, in retrieve
block = fp.read(bs)
ValueError: read of closed file
はどのようにして、代わりに1つのURLに、スクリプトを変更しませんスクリプトは成功するまでリストからダウンロードしようとし続けます解凍して私はちょうど1つの成功したダウンロードが必要です
非常にPythonには新しいことをお詫びしますが、私はこれを理解することはできません。
url = {
"http://url.com/archive.zip?key=7UCxcuCzFpYeu7tz18JgGZFAAgXQ2soe",
"http://url.com/archive.zip?key=7UCxcuCzFpYeu7tz18JgGZFAAgXQ2sod",
"http://url.com/archive.zip?key=7UCxcuCzFpYeu7tz18JgGZFAAgXQ2soc",
"http://url.com/archive.zip?key=7UCxcuCzFpYeu7tz18JgGZFAAgXQ2sob",
"http://url.com/archive.zip?key=7UCxcuCzFpYeu7tz18JgGZFAAgXQ2soa",
}
、その後、ループのいくつかの並べ替えにこの行を変更する:私はこのような何かを見るために、変数を変更する必要がありますと仮定していますあなたができる本格的な分散タスクについて
urllib.request.urlretrieve(url,filename)
これは私が欲しかったものでした。ありがとうございました。 – Amivit