B站番剧播放数据
爬取B站所有正版番剧的视屏信息,当前目标需要获取如下基本数据:
- 总的播放量、追番数、弹幕量、总集数
- 单集的播放量、追番数、硬币数、分数
- 放送年月和时间
- 番剧Tag
- 制作地区
- 声优
以下为设计方案的主要流程。
1. 番剧查找
通过如下API接口,查找不同年份、季度的新番列表:
1 | https://bangumi.bilibili.com/web_api/season/index_global |
通过制定如下参数来设置引索:
1 | data = { |
直接使用url可以得到json数据格式如下:
解析json数据可以得到番剧的一些基本信息,如番剧名、放松日期、和season_id、完结信息、总集数。
2. 获取总集数据和单集的aid
为了得到更多信息和数据,我们需要利用番剧的season_id。分析网站的JS源码,我们能够找到网页前端使用了如下接口,来向服务器请求获取番剧的详细信息:
API格式为(中间season_id用实际值代替):
1 | http://bangumi.bilibili.com/jsonp/seasoninfo/season_id.ver?callback=seasonListCallback |
得到数据如下:
解析得到详细的番剧信息,另外一个重要的就是单集番剧的aid。
3. 获取单集番剧的信息
通过aid获取单个视屏的信息,这个接口在网上使用的比较广泛(xxxxxx换成实际的aid值即可):
1 | https://api.bilibili.com/x/web-interface/archive/stat?aid=xxxxxx |
得到json数据如下:
1 | { |
3. 整合获取数据存入本地
当前使用csv文件保存