• You-Get开源在线下载神器,搭配python更加丝滑(文中案例演示)


    大家好,我是辰哥

    今天给大家介绍一个号称可以下载全网视频、音频、图像的开源库

    ——you-get

    you-get

    这里说全网可能一点夸张,但如果实际上去使用you-get下载媒体文件(视频、音频、图像),对于主流的平台几乎都可以满足需求。

    目前you-get支持下载的媒体文件平台80+(包括国内国外),像国内常用的各种主流视频平台(某站、某手、某音、某酷等)。

    具体支持哪些平台,可以参考下方链接

    https://github.com/soimort/you-get

    安装you-get

    you-get是python的一个库,因此通过pip方式直接进行安装

    pip install you-get
    
    
    

    使用you-get

    you-get的使用很简单,一行命令就可以搞定

    命令格式:

    you-get  [媒体文件URL]
    
    
    

    【备注】上方的命令是在终端中执行

    下面以辰哥的一个视频进行举例:

    you-get  https://www.bilibili.com/video/BV1Ef4y137ex
    
    
    

    当前的终端中路径处于桌面,所以下载好的视频保存在桌面,其保存的格式为flv

    命令:you-get  [媒体文件URL]

    上面默认的命令下载好的视频是flv格式,此外you-get可以设置参数

    具体参数以及用法如下:

    -i 【解析视频信息】

    -o【保存地址】

    -u【解析视频真实地址】

    --json【视频的json信息】

    参数-i用法:

    you-get -i   https://www.bilibili.com/video/BV1Ef4y137ex
    
    
    

    罗列出了该视频在下载保存时可以选择不同的格式,具体如下:

    you-get --format=dash-flv https://www.bilibili.com/video/BV1Ef4y137ex
    
    
    

    选择第一个(高清1080p的mp4格式)

    参数-o用法:

    you-get -o /Users/lyc https://www.bilibili.com/video/BV1Ef4y137ex
    
    
    

    下载的视频保存到路径:/Users/lyc

    参数-u用法:

    you-get -u https://www.bilibili.com/video/BV1Ef4y137ex
    
    
    

    解析视频的真实链接

    参数--json用法:

    you-get --json https://www.bilibili.com/video/BV1Ef4y137ex
    
    
    

    解析视频的json信息(不同高清格式真实播放地址)

    图片或音乐

    同样的,音乐和图片也是一样的下载

    命令:you-get  [媒体文件URL]

    演示:

    配合Python使用

    为了实现批量下载或者与代码(Python)结合,you-get通常都是通过代码去使用,而非在终端。

    下面教大家如何在在代码中去实现上面终端执行的效果

    同样还是下载视频

    from you_get import common
    #视频链接
    v_url = 'https://www.bilibili.com/video/BV1Ef4y137ex'
    #保存格式
    v_format = 'dash-flv'
    #保存路径
    save_dir = r'/Users/lyc/'
    common.any_download(url=v_url,stream_id=v_format,info_only=False,output_dir=save_dir,merge=True)
    
    
    

    通过代码去使用you-get就可以成功把视频下载保存到指定位置

    扩展:

    相信大家都了解过爬虫,甚至写过爬虫,you-get和爬虫结合,爬虫采集到视频链接(非真实链接)然后通过you-get进行下载

    此外还有另外一种方法

    import os
    # #视频链接
    v_url = 'https://www.bilibili.com/video/BV1Ef4y137ex'
    # #保存格式
    v_format = 'dash-flv'
    # #保存路径
    save_dir = r'/Users/lyc/'
    tem_cmd = "you-get --format="+v_format+"  -o "+save_dir +" " +v_url
    #you-get --format=dash-flv  -o /Users/lyc/ https://www.bilibili.com/video/BV1Ef4y137ex
    result = os.system(tem_cmd );
    print(result)
    
    
    

    通过os.system可以执行终端命令

    同样下载和终端效果一样

    本文干货到此结束

    有任何疑问小伙伴们欢迎下方留言讨论哈~

    耐得住寂寞,才能登得顶
    Gitee码云:https://gitee.com/lyc96/projects
  • 相关阅读:
    如何将本地代码上传到GitHub
    《剑指offer》JavaScript版19-21题
    《剑指offer》JavaScript版16-18题
    《剑指offer》JavaScript版13-15题
    蘑菇街(前端1面)
    《二十二》观后感
    前端面试题(2)
    《深入理解ES6》之Promise
    HDU 4939 Stupid Tower Defense (2014 Multi-University Training Contest 7)
    HDU 4940 Destroy Transportation system(2014 Multi-University Training Contest 7)
  • 原文地址:https://www.cnblogs.com/chenlove/p/15239744.html
Copyright © 2020-2023  润新知