codecamp

Python3下载B站视频实战课程

本文转载至知乎ID:Charles(白露未晞)知乎个人专栏
下载W3Cschool手机App,0基础随时随地学编程>>戳此了解

导语

之前好像有人问怎么用python下载B站的视频,于是今天稍微研究了一下,发现还是挺简单的,于是过来分享一波。

让我们愉快地开始吧~

相关文件

百度网盘下载链接: https://pan.baidu.com/s/1Wo2ExR5-LEVkCB_BsSMyPQ 

密码: idbs

开发工具

Python版本:3.6.4

相关模块:requests模块;contextlib模块;以及一些Python自带的模块。

其他工具:ffmpeg

环境搭建

Python:

安装Python并添加到环境变量,pip安装需要的相关模块;

Ffmpeg:

解压相关文件中提供的“ffmpeg.zip”文件,将解压后获得的文件夹内的bin文件夹路径添加到环境变量中,例如:

原理简介

FLV视频格式(科普一下):

FLV(Flash Video)是Adobe公司设计开发的一种流行的流媒体格式,由于其视频文件体积轻巧、封装简单等特点,使其很适合在互联网上进行应用。此外,FLV可以使用Flash Player进行播放,而Flash Player插件已经安装在全世界绝大部分浏览器上,这使得通过网页播放FLV视频十分容易。FLV封装格式的文件后缀通常为“.flv”。

(摘自:https://blog.csdn.net/leixiaohua1020/article/details/17934487)

分析:

随便点开一个B站的视频,发现在网页元素里有一个

Python3下载音悦台MV
Python3预测NBA比赛结果
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }