xxx*_*xxx 5 python python-requests
我在python-requests v.2.0.1中有流式下载大文件(大约1.5 GB)的问题
with open("saved.rar",'wb') as file:
r = session.get(url,stream=True,timeout=3600)
for chunk in r.iter_content(chunk_size=1024):
if chunk:
file.write(chunk)
file.flush()
Run Code Online (Sandbox Code Playgroud)
我在我的vps上测试了几次,有时下载200mb,500mb或800mb并保存它没有任何错误.它没有达到超时,就像完成下载一样停止.
我下载此文件的主机是稳定的,因为我没有任何问题在浏览器中下载此文件.
有什么方法可以在python请求中下载大文件并且100%确定它的整个文件?
@编辑
我用urllib解决了它,问题只在于请求.无论如何,谢谢你的帮助.
可能有几个问题会导致下载中断。网络问题等。但是我们在开始下载之前知道文件大小,以检查您是否下载了整个文件,您可以使用 urllib 来执行此操作:
site = urllib.urlopen("http://python.org")
meta = site.info()
print meta.getheaders("Content-Length")
Run Code Online (Sandbox Code Playgroud)
使用请求:
r = requests.get("http://python.org")
r.headers["Content-Length"]
Run Code Online (Sandbox Code Playgroud)