• python requests库 爬取视频


    python requests库 爬取视频

    一、总结

    一句话总结:

    爬取视频操作和爬取图片操作比较类似,我们可以设置请求中的stream参数来选择以一整个块的方式来爬取视频或者以流的方式爬取
    # 显示下载视频的进度
    import requests
    headers = {
        "user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36",
    }
    url ="https://video.pearvideo.com/mp4/adshort/20200709/cont-1684816-15252785_adpkg-ad_hd.mp4"
    response = requests.get(url,headers=headers,stream=True)
    print(response.status_code)
    print(response.headers['content-length'])
    content_size = int(response.headers['content-length'])
    # print(response.text)
    # print(response.content)
    n = 1
    with open("v.mp4","wb") as f:
        for i in response.iter_content(chunk_size=1024):
            rate=n*1024/content_size
            print("下载进度:{0:%}".format(rate))
            f.write(i)
            n+=1
        print("下载完成")

    1、爬虫如何获取视频的大小?

    用响应头里面的content-length属性即可,即response.headers['content-length']

    二、python requests库 爬取视频

    转自或参考:

    import requests
    
    
    # 下载视频
    def download(url):
        with requests.get(url, stream=True) as r:
            print('开始下载。。。')
            with open('v.mp4', 'wb')as f:
                for i in r.iter_content(chunk_size=1024):
                    f.write(i)
        print('下载结束')
    
    
    # 带下载进度下载视频
    def download_level2(url):
        with requests.get(url, stream=True) as r:
            print('开始下载。。。')
            content_size = int(r.headers['content-length'])
            with open('v.mp4', 'wb')as f:
                n = 1
                for i in r.iter_content(chunk_size=1024):
                    loaded = n * 1024.0 / content_size
                    print(loaded)
                    f.write(i)
                    print('已下载{0:%}'.format(loaded))
                    n += 1
        print('下载结束')
    
    
    if __name__ == '__main__':
        URL = 'http://tb-video.bdstatic.com/tieba-smallvideo-transcode/3853363_adac7ec8907890797b3970e570aba43a_140b8b74a014_3.mp4'
        # 下载视频
        # download(URL)
        # 带下载进度
        download_level2(URL)
     
    我的旨在学过的东西不再忘记(主要使用艾宾浩斯遗忘曲线算法及其它智能学习复习算法)的偏公益性质的完全免费的编程视频学习网站: fanrenyi.com;有各种前端、后端、算法、大数据、人工智能等课程。
    博主25岁,前端后端算法大数据人工智能都有兴趣。
    大家有啥都可以加博主联系方式(qq404006308,微信fan404006308)互相交流。工作、生活、心境,可以互相启迪。
    聊技术,交朋友,修心境,qq404006308,微信fan404006308
    26岁,真心找女朋友,非诚勿扰,微信fan404006308,qq404006308
    人工智能群:939687837

    作者相关推荐

  • 相关阅读:
    php.ini常用设置
    php 登录时用户名与密码验证器
    php Array操作函数
    php 注册时输入信息验证器
    php从数组中随机抽取一些元素
    php 字符串操作函数
    php类的注册与自动加载
    php 跑龙套功能——页面跳转
    围棋界的后阿拉法狗时代——“云养狗”
    云养狗的启发——区块链的新应用可能性乱想
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/13270317.html
Copyright © 2020-2023  润新知