Bilibili播放-获取B站播放视频源地址的过程
如果是为了下载B站视频呢,直接用 You-get,然而,我们的需求就是要在线看B站视频(清晰度要求不高),要求内嵌在自己的程序中,直接观看,加载速度要快!那先下载再预览绝对是不行了。只能尝试去获取播放源地址
如果你对这方面有兴趣,可以和我们一群程序员交流学习,共同进步
695623459
获取播放源地址的过程很曲折,移动端抓包,PC-web端分析,后来,发现一个网站,终于找到了一线希望。
就是ibilibili.com了
这个网站的功能呢,就是很方便的让你获取B站视频的下载地址,同时,它还会有一个播放器供你预览。有多方便呢?
这是一个B站视频的链接,视频id是49023450
https://www.bilibili.com/video/av49023450
当你在bilibili前面加个i时,类似下面,你就直接获取到你想要的了
https://www.ibilibili.com/video/av49023450
很明显,这就是直接拿到播放源地址了,这是我们达到目标的捷径无疑了。
查看源代码,将无用数据都删光!
看到了赤裸裸的××
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<script src="http://cdn.staticfile.org/jquery/1.9.1/jquery.min.js"></script>
<body>
<div id="vd"></div>
<audio id="player" autoplay="autoplay"></audio>
<script>function callbackfunction(j){var u = j.durl[0].url;$("#vd").html('<video width="680" height="376" src="'+u+'" preload="auto" autoplay="" controls="" class="embed-responsive-item"></video>')$("#page1").attr("href",j.durl[0].url);}function parseVideo(page){$.getScript("http://api.bilibili.com/playurl?callback=callbackfunction&aid=49619819&page="+page+"&platform=html5&quality=3&vtype=mp4&type=jsonp");}parseVideo(1)</script></body>
</html>
看到了吧,首先通过B站的一个接口,拿到播放源的信息
aid 就是 avid,视频id
function parseVideo(page){$.getScript("http://api.bilibili.com/playurl?callback=callbackfunction&aid=49619819&page="+page+"&platform=html5&quality=3&vtype=mp4&type=jsonp");
}
response
callbackfunction({"from": "local","result": "suee","quality": 6,"format": "mp4","timelength": 268633,"accept_format": "mp4","accept_quality": [6],"video_codecid": 7,"video_project": false,"seek_param": "start","seek_type": "second","durl": [{"order": 1,"length": 268633,"size": 8025970,"url": "http:\/\/upos-hz-mirrorks3u.acgvideo.com\/upgcxcode\/93\/11\/86881193\/86881193-1-6.mp4?e=ig8euxZM2rNcNbug7WdVtWug7WdVNEVEuCIv29hEn0l5QK==&deadline=1555647031&gen=playurl&nbs=1&oi=3742041866&os=ks3u&platform=html5&trid=812e5d046a8a4213bf3119bdf184f128&uipk=5&upsig=97ec92a9612234c4c4ce7b29e27d5ef4&uparams=e,deadline,gen,nbs,oi,os,platform,trid,uipk"}],"img": "https:\/\/i1.hdslb.com\/bfs\/archive\/70492d7b0760a9e38c8573b421c3dc8128232b09.jpg","cid": "https:\/\/comment.bilibili.com\/86881193.xml","fromview": "vupload"
});
durl[n].url 就是播放源
然后将获取到的播放源插入到页面上
var u = j.durl[0].url;
$("#vd").html('<video width="680" height="376" src="'+u+'" preload="auto" autoplay="" controls="" class="embed-responsive-item"></video>')
那我们试一试。
该链接 open_in_new_tab 没有问题,该链接的deadline也没有过期,再看详细信息
403,referrer 策略是 no-referrer-when-downgrade
来源信息对于网站而言挺重要
那我们在head里面加一条
<meta name="referrer" content="no-referrer">
就OK了
Bilibili播放-获取B站播放视频源地址的过程相关推荐
- b站看那个的python_用Python获取B站播放历史记录 !男友居然天天背着我看这些!...
今天Geek专栏为大家带来 乐聚机器人王松博士的 "用Python获取B站播放历史记录" 最近 B 站出了一个年度报告,统计用户一年当中在 B 站上观看视频的总时长和总个数.过去一 ...
- python查看历史记录_用Python获取B站播放历史记录
用 Python 获取 B 站播放历史记录 最近 B 站出了一个年度报告,统计用户一年当中在 B 站上观看视频的总时长和总个数.过去一年我居然在 B 站上看了 2600+ 个视频,总计 251 个小时 ...
- JavaScript获取B站分集视频标题及各集时长、累计时长
之前在学习B站分集视频时,为做笔记曾需要频繁复制标题文字,同时也需要知道视频时长,于是用js把标题及时长在控制台输出然后复制存为文本文件. var box=document.getElementsBy ...
- python获取B站单个视频的封面
python获取B站单个视频的封面 仅用于个人学习 import requests, reurl = 'https://www.bilibili.com/video/BV1f64y1Z7Qp' # 修 ...
- 【获取b站分集视频时长】合理安排学习时间
分享好物 B站分集视频教程 集数时长统计脚本 大佬链接 可调倍速灵活自由版 步骤 一.在b站找到想看的分集视频 二.在该页面浏览器上方,右击,添加网页 三.复制如下代码,填入 网址 处 javascr ...
- 手把手教你使用Python获取B站视频并在本地实现弹幕播放功能
点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 少小虽非投笔吏,论功还欲请长缨. ...
- 手把手教你使用Python网络爬虫获取B站视频选集内容(附源码)
点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 位卑未敢忘忧国,事定犹须待阖棺. ...
- Python批量下载Bilibili(B站)1080P60fps视频-pip打包安装
BiliUtil Bilibili.com(B站)视频下载工具包 Github源码地址:https://github.com/wolfbolin/BiliUtil 声明:该内容仅供学习参考,请勿用于商 ...
- android b站倍速播放器,哔哩哔哩怎么加速播放?B站网页版和手机版视频倍速播放的方法介绍...
bilibili简称B站是国内知名的视频弹幕网站,这里有最及时的动漫新番,最棒的ACG氛围,最有创意的Up主.那么,爱逛b站的朋友们都知道,加速播放效果更佳!那么,哔哩哔哩怎么加速播放呢?接下来小编就 ...
最新文章
- 构建、测试和部署驱动程序
- 【Spring实战】注入非Spring Bean对象
- U3D 代码自动化生成定制预置体的旋转问题
- UrlEncode编码算法
- 十大经典排序算法动画与解析,看我就够了!(配代码完全版)
- 玩转mini2440开发板之【在Ubuntu 14.04下编译安装tslib 1.4版本】
- MST(最小生成树)的构造
- 16、常用shell命令方法
- XCode5添加新建类模板(Cocos2dx Template Class for Scene or Layer)
- 【报告分享】2021-2022年中国人工智能创投数据报告.pdf(附下载链接)
- 理论应用实例水杯_PLC应用,3个PID控制实例讲解,想不会都难!
- [Python 学习] 两、在Linux使用平台Python
- 圣地亚哥分校 计算机,加州大学圣地亚哥分校计算机怎么样?
- autolayout中 top layout guide详解
- java基础27 单例集合Collection及其常用方法
- 二维螺旋曲线方程式,弧长计算及作图实现
- netty框架中 bossGroup与workGroup是一个还是两个Reactor
- 【JZOJ A组】Melancholy
- IPV6 长度为46位
- 硬盘坏道数据恢复-硬盘开盘数据恢复-天伟数据恢复