我写了一个B站骑行区UP主粉丝分析网站 up-data.cn

本文讲述了作者作为骑行爱好者,出于兴趣开发了一个监测B站骑行UP主粉丝动态的网站,使用Node.js后端、MySQL存储、Echarts展示数据,描述了开发过程中的技术选型、数据获取、遇到的困难以及网站的上线情况。
摘要由CSDN通过智能技术生成

背景

       我是一个骑行爱好者,平时通勤工具主要是自行车,周末偶尔也会骑个50公里,100多公里的小长途,基于爱好的原因,在B站上关注了很多UP主,虽然自己不能去环华,环球,看各种UP主日常视频也是一种全新体验。B站上曾经最火的骑行UP主是“徐云流浪中国”,在9月份的时候由于他放弃了骑行,导致粉丝量下降,另外一个UP主“朱志文环球骑行”粉丝正逐步上升,总能在评论看到各个UP主粉丝的变化,我就在想,能不能弄一个统计粉丝数据工具,看看每天他们的粉丝变化,每天掉多少粉,涨多少粉,这是最初的想法,就有了一个网站的雏形。网站主要对骑行区的UP主,逻辑上其他区也能用,只是关注点不一样,后面会提到。

编写过程

       在开始写代码之前,必要的调研是必不可少的,一个是技术可行性,另外就是类似的网站是否有能参考的。

技术可行验证

数据获取

      通过F12,很容易找到网站获取粉丝的url,很简单

      curl https://api.bilibili.com/x/relation/stat?vmid=xxx  就能得到一个json数据

      xxx 为up主id号。

开发过程

开发工具选择

       后端用比较熟悉的 nodejs ,进程用 supervisor 调用监控

        存储用 Mysql 数据库

        前端用标准 HTML,用 echarts、bootstrap 等组件,组件不熟悉就菜鸟教程+百度,变看资料,边弄

原型

       用 AxureRP 简单画了个布局

        

  编码
获取数据

        数据库中专门设计了一张表,存储UP主基本信息,一张表,存储粉丝数量和时间,中间通过主键关联。

       

         第一个表暂时是手动录入,第二个表用 nodejs 写一个定时器,定时构造url,发起request请求,将json结果存到表中即可。在测试过程中发现B站会对调用接口频率有检查,通过每个请求间隔开几秒时间就能解决。定时器每小时调用一次。

展示数据      

        展示数据主要是前端和后端的工作,如果是简单的echarts展示,前端直接套用样例代码,弄个调用,后台从数据库获得数据就可以了。

         运行一段时间后,发现想看单个UP主或者某个时间段就比较麻烦,所有开始按界面原型目标进行新界面开发,由于界面开发不是我的强项,我在界面技术学习上时间比较多,主要是样式布局不太熟悉。

成果

        目前网站可以针对单个UP主粉丝每天增长变化监控,三天、七天统计精度是一个小时,一个月为一天,右侧为该UP主最新投稿。

   

遇到的困难

  • 前端技术不熟悉 ,通过百度、AI生成代码、在线教程解决
  • B站API授权保护,在github上找到一个B站API研究的项目,给了很多帮助,解决了授权问题。

网站上线

     网站是为参加1024活动写的,当时网站有点简单的雏形,现在已经上线运行了 1个多月了,网站地址 http://up-data.cn ,欢迎访问。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值