使用python请求中断流式下载大文件

用户名

我在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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何中断流浪汉读取大文件

来自分类Dev

使用PowerShell下载大文件

来自分类Dev

使用Python请求流式上传

来自分类Dev

重命名使用 Python 请求下载的文件

来自分类Dev

如何使用wget下载流式文件?

来自分类Dev

使用内存流下载大文件

来自分类Dev

使用HttpClient下载Web API大文件

来自分类Dev

如何使用wget下载大文件?

来自分类Dev

使用HttpClient下载Web API大文件

来自分类Dev

使用ftp协议下载大文件

来自分类Dev

无法流式传输大文件

来自分类Dev

下载大文件

来自分类Dev

大文件下载cherrypy

来自分类Dev

下载大文件

来自分类Dev

大文件下载cherrypy

来自分类Dev

从HDFS下载大文件

来自分类Dev

使用(Power)Mockito 跟踪本地对象状态和中断流?

来自分类Dev

在有限的网络上使用python下载多个大文件的方法

来自分类Dev

MemoryError-如何使用Python通过Google Drive SDK下载大文件

来自分类Dev

在有限的网络上使用python下载多个大文件的方法

来自分类Dev

是否可以使用 Python 3 下载大文件夹或游戏?

来自分类Dev

在Python中使用请求库时流式传输到变量而不是文件

来自分类Dev

如何使用python请求下载文件(perl cgi后端)

来自分类Dev

登录网站并使用python请求下载文件

来自分类Dev

使用python请求登录后无法下载文件

来自分类Dev

如何使用python请求库从Web下载PDF文件

来自分类Dev

使用python中的请求模块从URL下载zip文件

来自分类Dev

登录网站并使用python请求下载文件

来自分类Dev

使用Python错误中的请求下载.gz文件