之前在js动态解析引入高清B站视频中研究了B站的api,但是都是别人封装好的,使用方便但限制比较大。这次正好学了Python爬虫,又简单学习了多线程的使用,所以就去研究了bilibili的官方api,然后尝试封装了bilibili视频下载的类(造轮子)。 requirements需要引入如下模块:(按需使用pip下载) 123456import re # python自带的正则表达式库import requests # http请求库,可能需要下载import json # api返回的是json,需要转换为dictfrom contextlib import closing # 创建上下文管理器 from multiprocessing.pool import Pool # 自带的多进程库from tqdm import tqdm # 进度条库,需要下载 类的设计 类属性包括一些类中始终不变的变量,如请求头、cookie等。 一个类的实例对应一个视频或一个合集。 实例属性和视频相关,如视频的bvid、标题、直链等。 实例化对象时传入bilibili视频的url。 包含单个 ...
效果预览首先来看看引入后的效果吧! var videoObject = { container: '.video', plug:'flv.js', video: 'BV1SE411V78E', }; var player = new ckplayer(videoObject); 和一般地使用iframe引入360p的视频不同,通过这种方法引入的b站视频是1080p的,而且获取外链的方式也很简单,以下,教程开始。 使用方法刚写这篇文章的时候还没发现,使用API获得的视频外链是有时间限制的,大约一天过后就会过期。所以直接使用获得的链接是要不得的。最终的方案是修改播放器源码,使用js向API发送同步请求的方式来获得视频的动态链接。具体思路请参照最终方案。 最终方案这里以我使用的播放器ckplayer为例,给出修改播放器js代码的过程。(ckplayer的使用见下文)。 如上图,步骤概括为: 在ckpalyer文件夹下面,找到js/ckplayer.js。 找到loadlanguage函数。 ...
avatar
Sato
我们的前方究竟会通往何处?
Follow Me In Github
公告

莱莎的炼金工房

十年炼金无人问,一朝肉腿天下知。

住在村裡的萊莎有如鄰家女孩,是一位“再普通不過”的少女。
某日,萊莎一行下定決心,前往禁止進入的「浮島對岸」,展開首次探險活動。
于是,僅限今夏的冒險,从此开始。