需要用到的环境
-
python(基本上只要不是很老的就行)
-
pip(这个其实python版本>2.8.9或者>3.4的都自带了),可以通过cmd命令pip -V查询是否安装了,没有的话就输入命令
curl bootstrap.pypa.io/get-pip.py -o get-pip.py # 下载安装脚本 sudo python get-pip.py # 运行安装脚本 12
需要用到的工具:
我用的是pycharm,用来写python代码的。
Flie->setting->Project:Test->project Interpreter:
点击右边的+号:在搜索栏输入需要用到的三方库,然后点击install:
需要用要的三方库
- pafy
- youtube-dl
进入代码部分:
我是建了俩个py文件,一个用来启动,一个用来实现功能:
首先是启动的文件VideoDownload.py:
# 使用该类的方法
from core.YoutubeVideoDownload import YoutubeVideoDownload
if __name__ == '__main__':
'''调用方法示例'''
youtube = YoutubeVideoDownload('https://www.youtube.com/watch?v=zFk8Jcyqgv8') # 需要下载的url
youtube.runDownload('d:/DownLoadVideo') # 设置保存路径,并执行下载
1234567
然后是实现功能的YoutubeVideoDownload.py:
import pafy
class YoutubeVideoDownload():
'''
@brief:下载Youtube视频
'''
def __init__(self, url):
self.download_url = url # 绑定到url
def runDownload(self, save_path):
self.save_path = save_path # 设置保存路径
# 开始下载
video = pafy.new(self.download_url)
v_best = video.getbest() # 下载最清晰画质
v_best.download(self.save_path)
video_profile = {}
video_profile["title"] = video.title # 视频标题
video_profile["duration"] = video.duration # 视频时长
video_profile["thumb"] = video.thumb # 视频缩略图网址
video_profile["url"] = self.download_url # 视频的地址
streams = video.streams
for s in streams:
video_profile["size"] = s.get_filesize() # 视频的字节大小
print(json.dumps(video_profile)) # 转换成json格式输出到控制台
12345678910111213141516171819202122232425