我正在尝试从xkcd.com下载所有漫画(png),这是我的代码来执行下载工作:
imageFile=open(os.path.join('XKCD',os.path.basename(comicLink)),'wb')
for chunk in res.iter_content(100000):
imageFile.write(chunk)
imageFile.close()
下载文件为6388Bytes,当链接中的真实文件为27.6Kb时无法打开。
我已经在shell中逐行测试了我的代码,所以我很确定我得到了正确的链接和正确的文件。 我只是不明白为什么我的代码下载的png较小。 此外,我试图搜索为什么会发生这种情况但没有有用的信息。 感谢。
答案 0 :(得分:0)
好的,因为你在这里使用请求的功能是让你下载给定网址的文件
def download_file(url):
local_filename = url.split('/')[-1]
# NOTE the stream=True parameter
r = requests.get(url, stream=True)
with open(local_filename, 'wb') as f:
for chunk in r.iter_content(chunk_size=1024):
if chunk: # filter out keep-alive new chunks
f.write(chunk)
return local_filename
文档链接 - > http://docs.python-requests.org/en/latest/user/advanced/#body-content-workflow