python 基于you-get库二次开发(网页视频下载)
you-get库
You-Get是一个很小的命令行实用程序,用于从 Web 下载媒体内容(视频、音频、图像)。
以下是您可能想要使用它的原因:
你喜欢在互联网上的东西,只是想下载他们为自己的乐趣。
您从计算机在线观看您最喜爱的视频,但禁止保存这些视频。
您希望删除任何闭源技术或专有 JavaScript 代码,并禁止像 Flash 这样在计算机上运行。
你是黑客文化和*软件的拥护者。
有什么可以为你做的:you-get
从热门网站(如 YouTube、优酷、b站等)下载视频/音频。
在媒体播放器中流式传输在线视频。没有网络浏览器,没有更多的广告。
通过刮取网页下载(感兴趣的)图像。
下载任意的非 HTML 内容,即二进制文件。
安装you-get库
pip install -i https://pypi.doubanio.com/simple/ you-get
原理
you-get 使用方法比较简单,可使用命令行工具直接进行下载。因此可以使用python的 os 库来模拟命令。来简化you-get使用方法。并实现简单的交互信息。
具体的支持网站可参考you-get官方文档。https://github.com/soimort/you-get
function.py
# 导入库
import sys
from you_get import common as you_get
import you_get.extractors
# 第一提示信息
def tips2():
print("-" * 25)
print("1:下载默认清晰度视频")
print("2:下载默认清晰度列表视频")
print("3:下载指定清晰度视频")
print("4:下载指定清晰度列表视频")
print("-" * 25)
# 输入网址
def get_url():
url = input(r"视频网址:")
return url
# 定义函数,负责查询视频信息
def query_video(url):
sys.argv = ['you-get', '-i', url]
you_get.main()
# 自定义存储位置下载默认清晰度视频
def direct_download(url):
directory = input(r"输入存储地址:")
sys.argv = ['you-get', '-o', directory, url]
you_get.main()
# 自定义存储位置下载默认清晰度列表视频
def direct_download_list(url):
directory = input(r"输入存储地址:")
sys.argv = ['you-get', '-o', directory, '--playlist',url]
you_get.main()
# 自定义存储位置下载指定清晰度视频
def appoint_download(url):
video_format='--format='+input("输入视频格式:")
directory =input(r"输入存储地址:")
sys.argv = ['you-get', '-o', directory, video_format, url]
you_get.main()
# 自定义存储位置下载指定清晰度列表视频
def appoint_download_list(url):
video_format='--format='+input("输入视频格式:")
directory = input(r"输入存储地址:")
sys.argv = ['you-get', '-o', directory, '--format=', video_format, '--playlist',url]
you_get.main()
video_download.py
from function import *
"""导入全部模块"""
# 输入必须的url,并显示视频信息
url=get_url()
query_video(url)
# 展示提示信息
tips2()
# 获得用户输入的值作为判断
num = int(input("输入对应序号:"))
# 判断并实现相应功能
if num == 1:
direct_download(url)
if num == 2:
direct_download_list(url)
if num == 3:
appoint_download(url)
if num == 4:
appoint_download_list(url)
# 程序结束
input("任务完成,按任意键退出:")
使用方法
说明:因原版本提示信息有-,会误以为是负号,所以代码中去掉-,选择对应的功能输入1、2、3、4,而不是-1,-2,-3,-4。
打开工具,将视频链接粘贴至光标处,按下回车。
此时工具将获得所要下载的视频信息,并有四项功能可选。
软件所默认的清晰度一般为1080P高清,如果是单个视频下载可输入1或3按下回车,先以默认清晰度为例:
接下来要求输入地址,首先打开我的电脑,选择好自己想要保存的文件夹,比如我想放在E盘的temp目录下,鼠标点击所在位置,按下ctrl+c快捷键复制地址。
将地址ctrl+v复制到工具内并按回车,就开始自动下载了,下载完成后可按任意键退出程序。
接下来说明一下指定清晰度方法,在这里选择3,比如我要下载flv格式的480P视频,就输入flv480,再输入好地址后按下回车,开始下载。
注意,如果需要下载mp4格式720p应输入 dash-flv720 中间的横杠为英文-。
列表视频下载方法同理,仅有链接中存在列表才可用这种方法。
如果想停止下载,可按快捷键 ctrl+c 或直接关闭程序。
注意事项
有些视频具有独立版权,下载的视频仅可用于学习,不要进行商用。
本文地址:https://blog.csdn.net/kcyxws/article/details/107069437