点击上方 小张Python,加为星标

第一时间收到 Python 技术干货!

作者:朝畫夕拾

链接:https://www.jianshu.com/p/c5ee7960b728

来源:简书

you-get 是github上python的一个开源库,借助于它你只需要取得视频所在网页链接地址就可以很轻松的下载下来,目前you-get所支持的网站包含国内外几十个网站(youtube、twitter、腾讯、爱奇艺、优酷、bilibili等),基本上可以满足你的需求,

1. you-get直接可通过命令行使用

(前提是你要先安装you-get:[pip install you-get](https://pip install you-get))

下载命令:you-get  your-url

例如:

you-get https://www.bilibili.com/bangumi/play/ep118488?from=search&seid=5050973611974373611

效果如下:(我直接在pycharm的终端命令行执行)


2.通过python 简单调用you-get库

import sysimport you_get

def download(url, path):    sys.argv = ['you-get', '-o', path, url]    you_get.main()

if __name__ == '__main__':

    # 视频网站的地址

    url = 'https://www.bilibili.com/bangumi/play/ep118488?from=search&seid=5050973611974373611'    # 视频输出的位置    path = 'G:/test'    download(url, path)

3.用 tkinter 库做一个小程序,通过GUI的形式展现

import re,sys,you_get,webbrowserimport tkinter as tkimport tkinter.messagebox as msgbox

"""视频下载类"""

class DownloadApp:

    # construct    def __init__(self, width=800, height=200):        self.w = width        self.h = height        self.title = '视频下载助手'        self.root = tk.Tk(className=self.title)        self.url = tk.StringVar()        self.start = tk.IntVar()        self.end = tk.IntVar()        self.path = tk.StringVar()        self.path.set('D:/DownloadApp')

        # define frame        frame_1 = tk.Frame(self.root)        frame_2 = tk.Frame(self.root)        frame_3 = tk.Frame(self.root)        frame_4 = tk.Frame(self.root)

        # menu        menu = tk.Menu(self.root)        self.root.config(menu=menu)        menu1 = tk.Menu(menu, tearoff=0)        menu.add_cascade(label='Menu', menu=menu1)        menu1.add_command(label='about me', command=lambda: webbrowser.open('https://blog.csdn.net/zwx19921215'))        menu1.add_command(label='exit', command=lambda: self.root.quit())

        # set frame_1        label1 = tk.Label(frame_1, text='请输入视频链接:')        entry_url = tk.Entry(frame_1, textvariable=self.url, highlightcolor='Fuchsia', highlightthickness=1, width=35)

        # set frame_2        s_lable = tk.Label(frame_2, text='起始值:')        e_lable = tk.Label(frame_2, text='结束值:')        start = tk.Entry(frame_2, textvariable=self.start, highlightcolor='Fuchsia', highlightthickness=1, width=10)        end = tk.Entry(frame_2, textvariable=self.end, highlightcolor='Fuchsia', highlightthickness=1, width=10)

        # set frame_3        label2 = tk.Label(frame_3, text='请输入视频输出地址:')        entry_path = tk.Entry(frame_3, textvariable=self.path, highlightcolor='Fuchsia', highlightthickness=1, width=35)        down = tk.Button(frame_3, text='下载', font=('楷体', 12), fg='green', width=3, height=-1,                        command=self.video_download)

        # set frame_4        label_desc = tk.Label(frame_4, fg='black', font=('楷体', 12),                              text='\n注意:支持youtube、twitter、腾讯、爱奇艺、优酷、bilibili等大部分主流网站视频下载、图片下载!')        label_warning = tk.Label(frame_4, fg='blue', font=('楷体', 12), text='\nauthor:xiaofeng')

        # layout        frame_1.pack()        frame_2.pack()        frame_3.pack()        frame_4.pack()        label1.grid(row=0, column=0)        entry_url.grid(row=0, column=1)        s_lable.grid(row=1, column=0)        start.grid(row=1, column=1)        e_lable.grid(row=1, column=2)        end.grid(row=1, column=3)        label2.grid(row=2, column=0)        entry_path.grid(row=2, column=1)        down.grid(row=2, column=2, ipadx=20)        label_desc.grid(row=3, column=0)        label_warning.grid(row=4, column=0)

    """    视频下载    """

    def video_download(self):        # 正则表达是判定是否为合法链接        url = self.url.get()        path = self.path.get()        if re.match(r'^https?:/{2}\w.+$', url):            if path != '':                msgbox.showwarning(title='警告', message='下载过程中窗口如果出现短暂卡顿说明文件正在下载中!')                try:                    sys.argv = ['you-get', '-o', path, url]                    you_get.main()                except Exception as e:                    print(e)                    msgbox.showerror(title='error', message=e)                msgbox.showinfo(title='info', message='下载完成!')            else:                msgbox.showerror(title='error', message='输出地址错误!')        else:            msgbox.showerror(title='error', message='视频地址错误!')

    def center(self):        ws = self.root.winfo_screenwidth()        hs = self.root.winfo_screenheight()        x = int((ws / 2) - (self.w / 2))        y = int((hs / 2) - (self.h / 2))        self.root.geometry('{}x{}+{}+{}'.format(self.w, self.h, x, y))

    def event(self):        self.root.resizable(False, False)

        self.center()

        self.root.mainloop()

if __name__ == '__main__':    app = DownloadApp()    app.event()

文章中作者只介绍了 you-get 工具关于视频的下载方法, 其实 you-get 涵盖类目不仅仅只是视频,音频、图片都可下载,具体用法,感兴趣的小伙伴可参考:

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

推荐阅读:

Python正在慢慢失去魅力?利用 OpenCV-Python 进行人脸 Delaunay  三角剖分(人脸检测核心技术之一)

gui卡顿 python_视频下载神器(youget),在 Python 中怎么使用?相关推荐

  1. python下载视频用youget_视频下载神器youget在 Python 中怎么使用

    作者:朝畫夕拾 链接:https://www.jianshu.com/p/c5ee7960b728

  2. python下载神器_python 视频下载神器(you-get)的具体使用

    you-get是github上python的一个开源库(https://github.com/soimort/you-get),使用you-get你只需要取得视频所在网页链接地址就可以很轻松的下载下来 ...

  3. 视频下载神器you-get使用方法

    0 背景 还在为视频下载而烦恼吗?作为一名新时代农民工,代码就是最好的工具.推荐一款视频下载神器 you-get,只需要一个命令行,就可以下载到你想要的视频,不需要下载其他乱七八糟的工具, 项目地址: ...

  4. python 视频下载神器(you-get)

    you-get是github上python的一个开源库(https://github.com/soimort/you-get),使用you-get你只需要取得视频所在网页链接地址就可以很轻松的下载下来 ...

  5. python下载视频you_python 视频下载神器(you-get)

    you-get是github上python的一个开源库(https://github.com/soimort/you-get),使用you-get你只需要取得视频所在网页链接地址就可以很轻松的下载下来 ...

  6. python 视频下载神器(you-get) 的安装和用法

    0x01 安装 pip3 install you-get $ pip3 install --upgrade you-get 命令行输入you-get 如果有以下回显说明安装成功 0x02 用法 Usa ...

  7. 视频下载神器you-get

    目录 利用python下载视频 安装python 1. you-get 说明 1. you-get 安装 1. you-get 使用方法 利用python下载视频 安装python 下载you-get ...

  8. 如何下载b站视频 - 视频下载神器you-get的运用

    小伙伴们肯定碰到过发现了自己非常喜欢的视频,但是很多时候要莫是诸如b站不能下载,要么就是诸如腾讯视频需要vip下载,那么今天就给大家介绍一个用dos命令行下载视频的小技巧 使用这个命令的先决条件是需要 ...

  9. 网页视频下载工具you-get(python)使用教程

    安装步骤 安装python 拉到最下面下载安装版(注意安装时务必勾上"add python to path",不然安装完毕需要自己设置环境变量) 输入以下命令 pip instal ...

最新文章

  1. java培训面试技巧分享
  2. pip命令提示unknown or unsupported command 'install'——python3.7安装PyInstaller经验
  3. SpringBoot 路径处理
  4. python binascii array('c')_详解Python中的array数组模块相关使用
  5. 华为云服务器入门初体验
  6. “我在苹果商店下载了一个诈骗App,损失60万美金!”
  7. Hack, Everything!
  8. python——zip()、map()、enumerate()、filter()、apply函数
  9. springboot 架构图
  10. 谷歌浏览器 android 55,谷歌浏览器下载手机版-谷歌浏览器安卓版下载-55手游网
  11. 反反爬虫利器!教你怎么用熊猫代理ip
  12. 转载!一文了解A股市场所有的ETF指数基金
  13. 种草拔草.......人生就是酱紫
  14. 升级openssh后出现问题(kex_exchange_identification: client sent。。。。。)
  15. 计算机锁屏打不开,电脑快捷锁屏不能用怎么办
  16. 回调陷阱的概念及解决方法
  17. 回归损失函数:Log-Cosh Loss
  18. 腾讯PGC最大规模调整涉及5个VP:“王者荣耀之父”主管 QQ
  19. 梁漱溟: 思考问题的八层境界
  20. 12V转5V2A电源模块的电路集合

热门文章

  1. Flutter进阶—质感设计之进度条
  2. 2021-2025年中国车轮运动防护产品行业市场供需与战略研究报告
  3. 2017级C语言大作业 - 奇怪的大冒险
  4. java 转换为maven_Java工程转换为Maven工程
  5. Kyligence 行业峰会成功举办,“智能数据云”引领数字化转型未来
  6. 谷歌弃用 APK 格式!替代品 AAB 有何优势?
  7. 自由软件之父回归 FSF,遭 1933 人、21 家组织联名抵制!
  8. 踢掉 Docker 后,Kubernetes 还能欢快地跑 GPU?
  9. 每天只睡 4 小时!大佬们都这么拼吗?
  10. 抓住指针的精髓,才算掌握了 C 语言的灵魂!