获取请求的原始响应可以用:Response.raw、Response.iter_content
普通情况可以用r.raw,在初始请求中设置stream=True,来获取服务器的原始套接字响应
url ="http://wx4.sinaimg.cn/large/d030806aly1fq1vn8j0ajj21ho28bduy.jpg"
r = requests.get(url, stream=True)
r.raw.read(10)
b'\xff\xd8\xff\xe1\x13\xe9Exif'
当流下载时,用Response.iter_content或许更方便些。requests.get(url)默认是下载在内存中的,下载完成才存到硬盘上,可以用Response.iter_content来边下载边存硬盘
url ="http://wx4.sinaimg.cn/large/d030806aly1fq1vn8j0ajj21ho28bduy.jpg"
rsp = requests.get(url, stream=True)
with open('1.jpg','wb')as f:
for i in rsp.iter_content(chunk_size=1024):# 边下载边存硬盘, chunk_size 可以自由调整为可以更好地适合您的用例的数字
f.write(i)