Python之You-Get库学习

今天学习一下You-Get这个第三方库,体验一下视频下载的快乐。

简介

You-Get库是一个基于Python3的视频下载工具,支持多数国内外主流视频站点的视频下载。看一下项目主页的README.md,真的是十分的nice啊,基本都支持了,像B站、腾讯视频、土豆、优酷等等。

项目主页:https://github.com/soimort/you-get

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZnwB2tmT-1584577815778)(upload\image-20200315113053631.png)]

安装

安装有三种方法,可以再github主页下载安装,也可以用pip下载,还可以用Antigen安装。

我在这里使用的是pip安装,使用pip3 intall you-get命令来安装you-get库。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZLIdFQH7-1584577815780)(upload\image-20200315120409853.png)]

由于pip更换了国内源,很快就完成安装了。

实例

接下来就来体验一把这个you-get库的实力,那么就编一个实例来在B站上下个视频看看。

系统:Windows 10 version 1909

Python:Python 3.7.4

You-Get: You-Get 0.4.1410

第一种就是直接使用命令行执行

下载视频

使用命令you-get -o 存储路径 URL , 注意一点URL不可以使用’'包起来,不然就会报错。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ICDTgcPU-1584577815781)(upload\image-20200315132428382.png)]

可以看到这个视频已经安详地躺在了目录下。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hro1m6kT-1584577815781)(upload\image-20200315132803024.png)]

查看视频信息

使用命令you-get -i https://www.bilibili.com/video/av10298843?from=search&seid=17023892018446291553

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PpKHewz8-1584577815782)(upload\image-20200315134037302.png)]

第二种是通过编写Python程序实现批量的下载

写了一个小程序,不多说上代码

源代码
import os

def main():
    info()
    tag = input("请选择:")
    if tag == 'a':
        print('-----------------------进入批量下载模式-----------------------\n')
        file2 , url2 = getchara()
        mutildownload( file2 , url2 )
    elif tag == 'b':
        print("-----------------------进入单次下载模式-----------------------\n")    
        file1 , url1 = getcharb()
        download( file1 , url1 )
    else:
        print("无效的选项,程序将会关闭\n" + "5\n" + '4\n' + "3\n" + "2\n" +"1")
        exit()

def info():
    print("-----------------------A1andNS video download-----------------------" + '\n' + "This is a program \
based on you-get , you can use it to download the video from vidoe website , such as \
bilibili , tencent video and so on.")
    print("请输入字母a以批量下载或输入字母b以单次下载!!!")

def getcharb():
    file1 = input("请输入一个保存路径:")
    url1 = input("请输入一个视频链接:")
    return file1 , url1

def getchara():
    file2 = input("请输入一个保存路径:")
    url2 = input("请输入你存放URL的文本文件的绝对路径(注意:URL应当每行只存放一个):")
    return file2 , url2

def download(file1 , url1):
    try:
        os.system("you-get " + '-o ' + file1 + " " + url1)
        print("运行成功!!!")
    except:
        print("运行失败!!!\n" + "5\n" +'4\n' + "3\n" + "2\n" + "1")
        exit()

def mutildownload( file2 , url2 ):
    f = open( url2 )
    lines = f.readlines()
    try:
        for line in lines:
            download( file2 , line )
        print("运行成功")
    except:
        print("运行失败!!!" + "5\n" +'4\n' + "3\n" + "2\n" + "1")
    f.closed()

main()

单次下载

成功下载结果如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L4ImNCps-1584577815784)(upload\image-20200315145322670.png)]

批量下载

批量下载时,使用一个url字典来实现,url存储格式如下图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-db53B320-1584577815785)(upload\image-20200315151136841.png)]

成功执行,把3个视频都下载下来了。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vYRYHPwI-1584577815786)(upload\image-20200315151001025.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vibi7DRB-1584577815787)(upload\image-20200315151039426.png)]

这个You-get工具正是一个好东西啊,感觉很棒,开发者大大牛逼。吹爆!!!

注意

(1)各大视频网站需要登录观看的视频无法直接下载

(2)有些网站视频需要设置代理

写在最后

这个博客可能不怎么写了,换了一个新的博客。但是如果可能,可以两边一起发,但是几率较低。
新博客:https://a1andns.github.io

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值