爱奇艺《中国新说唱 2020》弹幕剖析,制作不齐全数据大屏
《中国新说唱 2020》不齐全数据大屏
哇咔咔,爱奇艺《中国新说唱 2020》如期而至,作为掉以轻心的伪嘻哈迷,以及与世无争的梅格妮,那相对是必追无疑(单压 X4 cool~)。在看视频的同时我还制作了一个爱奇艺《中国新说唱 2020》不齐全数据大屏,感兴趣的敌人能够点这里 https://www.fishhere.fun/rap 先睹为快。
获取爱奇艺弹幕
想要制作大屏,第一步就是要获取数据。咱们先来看下弹幕。
其实这一步骤还是很简略的,网上有很多的先驱者,网友们也写的很分明,轻易搜寻一下就能够晓得怎么获取了,不过大多人都是用 python,我这里用的是 node。
- 关上网页控制台,搜寻“bullet”,点 z 结尾的就是咱们要找的链接。
链接中的最初一个数字每隔 300 秒加 1,直到视频完结。所以遍历的次数为视频时长除以 300 且向上取整。视频分高低两集,所以还要再执行两次。
- 应用 node 申请数据,这里应用了 eggjs 框架。
const res = await this.ctx.curl(url, {// gzip: true,});
是否反对 gzip 响应格局,默认为 false。开启 gzip 之后,HttpClient 将主动设置 Accept-Encoding: gzip 申请头,并且会主动解压带 Content-Encoding: gzip 响应头的数据。(摘自 eggjs 官网文档)
这里获取到的是一个 buffer 格局的文件,我认为将 gzip 设置为 true,就能够拿到解压后的文件,但其实不然。
- 应用 node 的 zlib 解压文件,最初就能够拿到正确的文件。
制作词云
- 用 xml2js 操作 xml 文件
const xml2js = require('xml2js');
const parser = new xml2js.Parser();
parser.parseString(xmlData, function (err, result) {console.log(result)
})
- 用 nodejieba 抽取关键词
const nodejieba = require("nodejieba");
let result = nodejieba.extract(sentence, 100);
console.log(result)
{name: '吴亦凡', value: 14263.133233106502},
{name: 'gai', value: 9743.53957487934},
{name: 'GAI', value: 8522.66232694265},
{name: '哈哈哈', value: 7698.80620601334},
{name: '张靓颖', value: 7492.465254428001},
{name: '药水', value: 6655.8901403435},
{name: '凡凡', value: 6632.650433502201},
{name: '真的', value: 6022.47052337153},
{name: '可恶', value: 5797.61069876588},
{name: '感觉', value: 4642.93663210213},
{name: '凡哥', value: 4554.811271148415},
{name: '哈哈哈哈', value: 4305.01735446552},
{name: 'giao', value: 4273.0703677784095},
{name: '孟子', value: 4055.0087039027}
这个中央孟子坤变成了孟子,哈哈哈哈。
- 用 echarts 制作词云
import echarts from 'echarts';
import 'echarts-wordcloud';
chart.setOption({
series: [{
name: '弹幕',
type: 'wordCloud',
shape: 'circle',
textStyle: {
normal: {color: '#927e55'}
},
data: this.data
}]
})
统计厂牌主理人的弹幕热度
let Kris = ['吴亦凡', '凡哥', '凡凡子', '凡凡']
let JaneZhang = ['张靓颖', '张姐', '姐姐', '靓颖']
let WilberPan = ['潘玮柏', '潘帅']
let GAI = ['GAI', 'gai']
遍历 nodejieba 抽取的关键字,让匹配的词相加。
应用 echarts 的折线图 Line,色彩自由发挥,我感觉我这里的配色还是比拟丑陋的。
凡凡子热度还是很高的,潘帅第一期不在,热度较低。
统计用户发弹幕数量
应用 echarts 的饼图 Pie。
大多人只发了一条弹幕,当然也有我这种连账号都没有的长视频网站重度用户。
统计用户发弹幕 top10
应用 echarts 的柱状体 Bar。
第一名发了 55 条。
弹幕点赞 top10
看来 GAI 这句话深入人心。
结束语
感兴趣的能够点这里查看 https://www.fishhere.fun/rap,下面应用的弹幕数据最初工夫更新于 2020-08-19 中午,之后的每一期我都会追,也会更新弹幕统计。
写给网络小编的一句话,原文链接在这里 https://yiluyanxia.github.io/…,无论如何还是很感激你爬了我的文章。
最初感激你的浏览,如果有好的倡议或者意见能够给我回复,谢谢你。