本文介绍了如何获取b站当前在线人数的一种方法
本文同步发布雨我的个人博客–弋江畔
写在前面
在2019年底的时候,b站主页右侧的在线人数按钮不再显示当前在线人数,但任然可以通过一个api接口获取,此爬虫就可以通过这个接口按时获取在线人数数据。
思路分析
- 请求接口获取数据
- 分析返回值,求得所需数据
- 将数据储存在数据库中
- 绘制图表,观察规律
绘制图表的方法将在日后更新
代码部分
-
请求接口获取数据
通过网上搜索得知目前返回在线人数的接口地址为:
https://api.bilibili.com/x/web-interface/online?&;jsonp=jsonp
打开之后获得以下数据:
观察之后可知为JSON格式,通过在线工具(一个非常好用的JSON在线解析网站)解析之后,得到下面这些内容:
至此数据获取完毕。 -
分析返回值,求得所需数据
分析可知其中的web_online为我们所期望的值(其余值的意义在以后的文章中会解释),为了获取此值需调用python中的json库。
josn数据的格式类似于python中的字典,因此对返回的json格式的值需要进行处理,也就是调用 json.loads() 函数,其作用是是将json格式数据转换为字典,这样就可以通过键来进行数据的读取,其中在线人数的键为 [‘data’][‘w