如何使用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

 可以看到正在下载中,我的网速不是很好,有点慢

有的时候,比如youtube1080p的视频,一般是音画分离。所以音和画都会有一个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 -i url,查看视频的信息

有好几种格式,比方说下载第一种,字节数越多,说明越清晰

命令是: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:UsersAdministratorDesktop --format=hdflv https://www.bilibili.com/video/av26277683/?spm_id_from=333.334.bili_douga.5

可以看到,下载的内容出现在了桌面上

我们打开下面的文件

 可以看到,视频可以正常播放,那么上面的东西是啥?

上面的是一个xml文件,我们打开看看

 看到这里,bilibili的老司机可能已经发现了

居然特么把弹幕也下载下来了

以上就是下载视频的两种方式,如果下载youtube上的视频建议使用,youtube-dl,毕竟名字摆在那了

如果下载国内视频,墙裂建议you-get,毕竟速度快,还特么能下载弹幕

原文地址:https://www.cnblogs.com/traditional/p/9356451.html