你知道如何使用 Python 下载网站上的视频吗?
youtube-dl
从名字上也能看出来,是专门用来下载 YouTube 的视频,但是除了 YouTube 之外还可以下载很多其它网站的视频,我们后续就以 bilibili 为例。
首先 pip install youtube-dl,或者 pip install --upgrade youtube-dl,下载的时候自动更新。
我们现在来下载一个视频,url是 https://www.bilibili.com/video/av26815518/?spm_id_from=333.334.bili_douga.8 ,页面如下:
在终端中输入 youtube-dl -F url,会得到视频的信息,也可以输入 youtube-dl --list-formats url。
对应的有编号,也就是 formatcode,加上编号就可以下载了,比如:youtube-dl -f 2 url
可以看到正在下载中,我的网速不是很好,有点慢。但是注意:有的时候,比如 youtube 1080p 的视频,一般是音画分离。所以音和画都会有一个formatcode,假设为 1 和 2,那么下载的时候就变成了 youtube-dl -F 1+2 url,把两个 formatcode 相加即可。然后使用格式工厂进行结合,如果下载了 FFmpeg,并设置了环境变量,那么 FFmpeg 会自动帮你组合。
还有字幕的问题,如果下载的时候没有下载到字幕,那么可以单独下载字幕。
youtube-dl --write-sub --skip-download url # 只下载字幕不下载视频
youtube-dl --write-sub --all-subs url # 下载所有语言的字幕
youtube-dl --write-auto-sub url # 下载自动生成的字幕
下载的文件的位置,则是默认是 C 盘 user(用户)下的 Administrator(你自己设置的名字)文件夹下。
我们来播放一下。
可以看到是可以播放的。
you-get
还是先 pip install you-get,下载完毕之后即可在终端使用 you-get 命令。通过 you-get -i url,查看视频的信息:
可以看到出现了好几种格式,很明显 size 越大越清晰,至于你想下载哪一种则通过上面的 format 指定。比如:
you-get --format=hdflv https://www.bilibili.com/video/av26277683/?spm_id_from=333.334.bili_douga.5
如果我想指定路径,并且重新设置文件名呢?
-o: 文件路径
-O: 文件名
you-get -o 路径 -O 文件名 --format=格式 url,然后我们下载到桌面:
you-get -o C:\Users\Administrator\Desktop --format=hdflv https://www.bilibili.com/video/av26277683/?spm_id_from=333.334.bili_douga.5
可以看到,下载的内容出现在了桌面上,我们打开下面的文件。
可以看到,视频可以正常播放,但是视频上方还有一个文件,那么这个文件是啥?上面其实是一个 xml 文件,我们打开看看里面装了什么内容:
看到这里,bilibili 的老司机可能已经发现了。
居然特么把弹幕也下载下来了。
小结
以上就是下载视频的两种方式,如果下载 youtube 上的视频建议使用 youtube-dl,毕竟名字摆在那了。
如果下载国内视频,墙裂建议 you-get,毕竟速度快,还特么能下载弹幕。
如果觉得文章对您有所帮助,可以请囊中羞涩的作者喝杯柠檬水,万分感谢,愿每一个来到这里的人都生活愉快,幸福美满。
微信赞赏
支付宝赞赏