Python下载器

Joh*_*ohn 2 python file download

所以我正在尝试编写一个脚本来下载python的图片文件,我发现这个def使用谷歌,但我得到它下载的每张图片都出现"腐败".有任何想法吗...

def download(url):
 """Copy the contents of a file from a given URL
 to a local file.
 """
 import urllib
 webFile = urllib.urlopen(url)
 localFile = open(url.split('/')[-1], 'w')
 localFile.write(webFile.read())
 webFile.close()
 localFile.close()
Run Code Online (Sandbox Code Playgroud)

编辑:代码标签没有很好地保留缩进,但我可以向你保证他们在那里,这不是我的问题.

Joc*_*zel 6

你可以干脆做

urllib.urlretrieve(url, filename)
Run Code Online (Sandbox Code Playgroud)

并免除任何麻烦.


Gin*_*kas 5

您需要以二进制模式打开本地文件:

localFile = open(url.split('/')[-1], 'wb')
Run Code Online (Sandbox Code Playgroud)

否则,二进制流中的CR/LF字符将被破坏,从而破坏文件.