zoukankan      html  css  js  c++  java
  • python requests文件下载进度条

    '''
    
     表示将光标的位置回退到本行的开头位置
    print(1, 2, end='') 默认换行,end='' 表示用''替换默认换行(也就是不换行)
    %% 转义%   输出一个%
    %.2f   小数,保留两位小数
    '''
    
    # 进度条模块
    def progressbar(url, filepath='./必须加上扩展名'):
        start = time.time()  # 下载开始时间
        response = requests.get(url, stream=True)  # stream=True必须写上
        size = 0  # 初始化已下载大小
        chunk_size = 1024  # 每次下载的数据大小
        content_size = int(response.headers['content-length'])  # 下载文件总大小
        try:
            if response.status_code == 200:  # 判断是否响应成功
                print('开始下载,[文件大小]:{size:.2f} MB'.format(
                    size=content_size / chunk_size / 1024))  # 开始下载,显示下载文件大小
                # filepath = '下载/222.mp4'  #注:必须加上扩展名
                with open(filepath, 'wb') as file:  # 显示进度条
                    for data in response.iter_content(chunk_size=chunk_size):
                        file.write(data)
                        size += len(data)
                        print('
    ' + '[下载进度]:%s%.2f%%' % (
                            '>' * int(size * 50 / content_size), float(size / content_size * 100)), end=' ')
            end = time.time()  # 下载结束时间
            print('完成!用时: %.2f秒' % (end - start))  # 输出下载用时时间
        except Exception:
            pass
    
    
    u = 'https://api.amemv.com/aweme/v1/play/?video_id=v0200f280000bq005t7eqk83orvbego0&line=1&file_id=57389ab9d06d4cefbff0fb236f7f603f&sign=11ef4a9e0efa17547fc126480caa1bae&is_play_url=1&source=PackSourceEnum_DOUYIN_REFLOW'
    progressbar(url=u, filepath='./2223.mp4')

    人生苦短,慢慢潇洒。 www.zwnsyw.com
  • 相关阅读:
    php IE中文乱码
    Ehab and a 2-operation task (思维题)
    9-7链表数据求和操作
    "巴卡斯杯" 中国大学生程序设计竞赛
    Codeup 问题 B: 算法7-16:弗洛伊德最短路径算法
    一只小蜜蜂...
    结构体作为函数参数(值传递,引用传递,指针传递)
    Codeforces Round # 515 (div.3) A. Vova and Train
    查找最大元素
    JSP复习(part 4)
  • 原文地址:https://www.cnblogs.com/zwnsyw/p/14570982.html
Copyright © 2011-2022 走看看