python3,如何下载zip文件

python3,如何下载zip文件,python,Python,我有一个简单的脚本,可以将zip文件下载到文件夹中,我不知道我做错了什么,文件总是损坏的,我附上了一个可复制的示例,首先我得到了文件列表,效果很好,但当我下载这些文件时,它会抱怨zip损坏 import re ,shutil from urllib.request import urlopen url = "http://nemweb.com.au/Reports/Current/Dispatch_SCADA/" result = urlopen(url).read().decode('utf-

我有一个简单的脚本,可以将zip文件下载到文件夹中,我不知道我做错了什么,文件总是损坏的,我附上了一个可复制的示例,首先我得到了文件列表,效果很好,但当我下载这些文件时,它会抱怨zip损坏

import re ,shutil
from urllib.request import urlopen
url = "http://nemweb.com.au/Reports/Current/Dispatch_SCADA/"
result = urlopen(url).read().decode('utf-8')
pattern = re.compile(r'[\w.]*.zip')
filelist = pattern.findall(result)


for x in filelist:
     with urlopen(url) as source, open(x, 'w+b') as target:
          shutil.copyfileobj(source, target)
在HTML页面中始终使用相同的url

您必须下载url+/+x


在文本编辑器中打开文件-可能您会得到带有机器人程序/脚本警告的HTML。您总是使用相同的url指向带有链接的HTML页面。你必须从链接中获取URL,然后下载。这就是我所做的。不是每个文件都是你列表的副本吗?您似乎没有更改url。您的意思是基于x组装URL吗?在指向这些文件的链接中,您只获得文件名,而没有URL。而且你总是从http://nemweb.com.au/Reports/Current/Dispatch_SCADA/
 for x in filelist:
     with urlopen(url + "/" + x) as source, open(x, 'w+b') as target:
         shutil.copyfileobj(source, target)