python模块requests参数stream

使用python requests模块下载大文件时,建议使用strea模式.

默认情况下是false,他会立即开始下载文件并存放到内存当中,倘若文件过大就会导致内存不足的情况.

当把get函数的stream参数设置成True时,它不会立即开始下载,当你使用iter_content或iter_lines遍历内容或访问内容属性时才开始下载。需要注意一点:文件没有下载之前,它也需要保持连接。

  • iter_content:一块一块的遍历要下载的内容
  • iter_lines:一行一行的遍历要下载的内容

使用上面两个函数下载大文件可以防止占用过多的内存,因为每次只下载小部分数据。

示例代码(下载某个视频):

# 下载视频
mp4url = 'https://vodcdn.idongde.com/provider/0/2021/10/26/171942wlr0t/sd/0d4b0238d1d08244946268e9bf4f84cd.mp4'

# 发起请求
dmp4 = requests.get(mp4url, stream=True)
print('视频下载请求状态:', dmp4.status_code)
with open('mp4.mp4', 'wb') as mp4f:
    # 使用iter_content遍历内容 1024 为每次读取字节长度 可自定义
    for i in dmp4.iter_content(1024):
        mp4f.write(i)
python笔记

python支持中文变量名吗?

2021-10-5 9:54:05

python笔记

python chardet模块

2021-10-29 23:06:23

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索