一、前言
hellow! 小伙伴们大家好!我是程序员抓头狂,前两周的时候来到b站发布了两期视频,收获了一些粉丝,非常感谢大家的支持,在发布视频后也是反复的打开个人主页分析视频数据,于是发现过程非常的复杂且费时 作为一个编程up主 于是呢。。。 想要制作一款能够粉丝实时计数器桌面应用程序 那我是如何制作呢 刚开始通过使用万能小助手 百度、搜索引擎反复查阅资料 也是惊奇的发现 b站的部分接口数据居然是开放的 也是b站大佬们得专栏下找到了相关接口,实现了功能,接下来看看它有什么功能,我又是如何实现的?
二、功能介绍
- 最小化窗口
- 锁定窗口(禁止窗口移动)
- 关闭窗口
- 实时获取up主视频数据(用户名、粉丝数、最新视频数据,比如:标题、在线观看人数、播放量、投币、收藏、评论、弹幕、转发)
三、接口整理
使用接口前我们需要获取用户唯一的uid uid也就是接口中的mid 如下图
- 'api.bilibili.com/x/web-inter…' + mid 获取up主信息
- 'api.bilibili.com/x/space/wbi…' + mid 获取up主视频列表(可以找到视频的aid、bvid为其他接口的重要参数)
- 'api.bilibili.com/archive_sta…' + aid + '&type=jsonp' 获取视频详细数据(这里的aid参数可以在视频列表中返回视频对象中获取)
- 'api.bilibili.com/archive_sta…' + aid + '&type=jsonp' 获取视频cid(为了获取实时观看视频人数)
- 'api.bilibili.com/x/player/on…' + aid + '&cid=' + cid + '&bvid=' + bvid **获取视频实时在线观看人数(这里需要三个参 aid、cid、bvid) **
四、实现思路
B站视频在线解读:www.bilibili.com/video/BV13Y…
具体思路:electron 分为主线程和渲染进程 主线程使用接口向服务器发送请求 筛选应用程序需要的数据,然后将数据发送给渲染进程,渲染进程拿到数据后,用原生js操作Dom动态的渲染出来 为了让窗口数据是实时的,我们需要使用定时器定时去调用接口(不要调用太频繁可能i导致ip会封就会拿不到数据 不过封了等几分钟又可以拿)
- 获取窗口所有数据
- 主线程发送数据给渲染进程
- 渲染进程监听数据后动态渲染页面
五、代码地址
gitte地址:gitee.com/ff2266/fans…
注意:如何启动看README.md文件