我在python-requests 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()
我在vps上测试了几次,有时下载了200mb,500mb或800mb并保存了它,没有任何错误。它没有达到超时,只是像完成下载一样停止了。
我在哪里下载此文件的主机是稳定的,因为我在浏览器中下载此文件没有任何问题。
有什么方法可以在python-requests中下载大文件,并100%确定其整个文件?
@编辑
我已经使用urllib解决了它,问题仅在于请求。无论如何,谢谢您的帮助。
可能有几个问题会导致下载中断。网络问题等。但是,在开始下载以检查是否已下载整个文件之前,我们已经知道文件的大小,可以使用urllib进行此操作:
site = urllib.urlopen("http://python.org")
meta = site.info()
print meta.getheaders("Content-Length")
使用请求:
r = requests.get("http://python.org")
r.headers["Content-Length"]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句