文章更新可能没那么频繁,可视化交流群里倒是每天分享优秀作品或文章,欢迎加入交流。加古柳微信「xiaoaizhj
」备注「可视化加群
」即可!
还没看上篇文章的小伙伴记得看哈,「0-100岁每个年龄都有什么困扰?搜索引擎数据里或许有答案」,别忘了后台回复「百度下拉词」
领取古柳最新爬取的数据。
五一前后古柳做了个B站相关推荐视频网络图
相关的小项目。最终效果如视频所示,输入框输入关键词,会返回10条B站视频,点击任意一个,会生成由与它相关的推荐视频及推荐视频各自的推荐视频等组成的网络关系图。
链接:https://www.bilibili.com/video/BV1bZ4y1F7MH
本系列文章就讲下为什么会想做到这个、数据是如何爬取的、网络图可视化又是用什么工具实现的等等内容。
之所以想做这个小玩意因为以前曾在推特还是哪看到有人(Andrei Kashcha
)做的一个基于油管推荐视频的网络图小网站,当时就觉得这种展现形式很有趣很酷,平时看油管不曾有过这样的视角。
链接:https://yasiv.com/youtube
于是立马搜了下乃木坂46
相关的,看看效果并截图留念。
没想到后来再去看的时候已经无法搜索并生成网络图,到 GitHub 仓库一看,貌似是被油管官方通知并停掉了,很是可惜。
链接:https://github.com/anvaka/yasiv-youtube
具体效果只能从原作者发布的视频里感受下。
链接:https://www.youtube.com/watch?v=0YMc4ue29PU
但不管怎样当时看过后古柳就一直留下印象,想着以后有能力也实现个简单类似的基于B站视频的版本,毕竟古柳当时完全不懂前端的东西,虽然源码在那,但Vue框架实现的更是无从入手,所以就不了了之。说来这次原本古柳以为那是去年2020年的事,但翻出截图才发现是2019年12月的事
,也是念念不忘挺久。
再后来对什么都谈不上兴趣,唯独似乎对数据可视化有些喜欢的古柳,终于好好打起JavaScript
等基础、学起D3.js
,并做些小项目、输出些内容。前些天也是偶然翻出正好一年前发的微博,才想起说过这段话,很是感慨,虽然依旧没做出些啥成绩。
之后做了「乃木坂工事中」
B站熟肉播放量/弹幕数等相关的可视化,算是古柳的处女作。有做了加标注的折线图,并开源在GitHub和码云。
链接:https://github.com/DesertsX/nogizaka-under-construction-dataviz
链接:http://desertsx.gitee.io/nogizaka-under-construction-dataviz/
也有做动态折线图视频。后来在重新开始更新公众号时的首篇文章「年更博主冒个泡,或将开启可视化之旅 - 2020.08.27」里也都有放过。
链接:https://www.bilibili.com/video/BV1np4y1v7Qg
正因为当时爬取了「工事中」
相关数据,然后古柳想进一步试试能不能做成网络图可视化。数据本身的结构是一条条单独的,并没有节点与关系,但可以从团综标题里抽取出不同的企划主题进行聚合,比如每次新单发售时都会配有祈祷大卖的祈愿企划
。
其中8单祈愿甚至是在澳门进行蹦极,此后西野七濑/娜酱
开始起飞,安利大家看看名场面。后来娜酱毕业,出演了「轮到你了」
里的女主黑岛沙和
,也在中国小火了下,想来应该有人看过吧。
链接:https://www.bilibili.com/video/BV1Bx411d738?p=126
扯回来。确定了可以拿祈愿的几期数据画个简单网络图后,古柳从Andrei Kashcha
开源的诸多网络图结构等相关开源库中挑了VivaGraphJS
,然后照着demo实现了下,当时很多效果并没有弄的特别好,但也没进一步优化,而且想画出更完善的「工事中」
网络图的话,需要确定更多企划主题并去聚合,不太好弄就放下了。
链接:https://github.com/anvaka/VivaGraphJS
但这次做B站相关推荐视频网络图
时,可视化部分就是在上面的例子基础上,换成现成节点和边数据后直接套上去实现的,虽然最初这次想和Vue
结合好点,但最终还是先硬拼到一起出效果再说,当然这些是后话。
讲完之前的那些往事,具体后面如何爬取B站推荐视频,用BFS宽度优先搜索爬取了快80w条视频/329万条关系
等等这回的实践,就留待后续文章再讲述了,敬请期待。
欢迎加入可视化交流群哈。可加古柳微信「xiaoaizhj」
备注「可视化加群」
拉你进群哈!
最后,欢迎关注古柳的公众号「牛衣古柳」
,并设置星标,以便第一时间收到更新。