需求: 作为(伪)资深视频爱好者,在YouTube上有时候在看到一个好看的视频(小姐姐),内心OS:好想把视频(小姐姐)加入到那些年我们下载过的视频(小姐姐)系列中,怎么办?在线等挺急的!
实现:
方案一:
百度之后,呵呵哒,无非是下插件或者借助第三方网站去下,优点是小白也能做,缺点是慢慢慢!在时间就是金钱,时间就是生命的当下这简直是谋财害命!不能忍,弃之!
方案二:
毛主席说过自己动手丰衣足食,荀子老人家说过,君子性非异也,善假于物也。 好吧,我们自己动手。 又有众多大佬说过,人生苦短,我用pyhon。
python最大的好处是拥有大量现成的轮子可以用,减少了不必要的开发。 而作为一名半吊子而又有原则的技术渣,秉着能别人动手尽量不自己来的原则,开始了折腾。
首先,我们来到全球著名的同性交友网站gayhub,搜索关键字youtube,看到如图:

, 哇哇哇,有30多K的star,相信群众的眼睛都是雪亮的,就是它了。
说干就干,点击进入之后,发现作者提供了完整详细的说明文档,并且给出了不同的开发环境下的给的不同方法,而win环境在安装了pip后只需要执行`pip install --upgrade youtube-dl这条命令即可。
在安装之后,我们就可以小试牛刀了,在命令行模式下执行如图:

就可以看到视频在下载了。
完工。
嗯?并没有
需求变更:我想只需要输入视频链接就可以下载该咋办?
其实这个很简单,加入用户交互就行了嘛
先贴效果图:

再上主要代码:
#! /usr/bin/env python3
# -*- coding:utf-8 -*-
#use youtube-dl download video
from __future__ import unicode_literals
import youtube_dl
video_url = input('please input a youtube video link:')
ydl_opts = {'proxy':'socks5://127.0.0.1:1080','format':'bestvideo[ext=mp4]'}
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
ydl.download([video_url])
print('end')好了,现在才算正式完工。
说明:
ydl_opts参数format`意思是下载画质最清晰的的并且将格式转成mp4,具体别的参数选项可以看源项目的说明。pip install --upgrade youtube-dl将该库更新。youtube,还能下载youku等其他视频网站的视频。pip替换成pip3.