可能重复:
如何使用请求下载图像
我知道,提取网址是非常简单requests.get
,我可以在原始响应身体得到,并将其保存到一个文件,但对于大文件,有没有办法直接流到文件? 就像如果我下载电影与它的东西?
可能重复:
如何使用请求下载图像
我知道,提取网址是非常简单requests.get
,我可以在原始响应身体得到,并将其保存到一个文件,但对于大文件,有没有办法直接流到文件? 就像如果我下载电影与它的东西?
奇怪的是,要求并没有什么简单的这一点。 你必须遍历响应和写那些块到一个文件:
response = requests.get('http://www.example.com/image.jpg', stream=True)
# Throw an error for bad status codes
response.raise_for_status()
with open('output.jpg', 'wb') as handle:
for block in response.iter_content(1024):
handle.write(block)
我通常只是用urllib.urlretrieve()
它的工作原理,但如果你需要使用一个会话或某种身份验证,在上面的代码工作为好。