B站的番剧很多人都喜欢看:
Power Query进行网络数据抓取的4步:
- 网站分析
- 试抓
- 自定义函数
- 抓取
网络抓取的难点应该就在这一步,因为不同的网站有不同的数据结构,所以没有一种通用的方法,能够适用于所有的站点,都有一站一分析。
打开谷歌浏览器:
初步判断这个应该就是真是的抓取地址,对于新番排名有两种:3日排名/周排名。
我们再来看数据预览:
网站返回的是一份JSON格式的数据。
通过上面的分析,这个网站是GET方法的抓取,可以直接通过真实直接抓取。
试抓
建立查询,从web,粘贴真实地址:
直接就得到这个JSON数据。
将数据逐级展开,就得到了一份表格:
试抓成功后我们就开始下一步,自定义函数。
自定义函数
如果我们只抓取这一页的数据,就不用定义函数了,直接提交结果就可以了,如果我们要把两种数据都抓下来,就要用一个函数来执行这个过程:
抓取
最后一步抓取,我们建一个小表就有两个值,{3,7},通过这两个值抓下来两个表,合并到一起:
展开就是我们要的数据了:
这个表中的数据既包含了排名的分数,也包含了播放量、追番、弹幕数量,所以我们可以根据这几列的数据来做自己的一个数据排列。
至此,B站新番排名的数据抓取就完成了,我么可以用Power BI Desktop中的图片可视化对象,做一个展示:
Power BI 商店中有个Strippet Browser非常适合做图片与文字的浏览:
Strippet Browser
支持的字段很多,我们就这组数据用不到那么多的字段,只填几个主要字段就好:
第一个字段是必填的,下面标题、图片我们填好,还有最后一行,要填排序字段:
我们是用弹幕数量来作为排序依据的。
这个视觉对象有两种图片排列方式,
- 一种是缩略图矩阵排列:选中文章时在下方显示细节内容;
- 一种翻书式的排列:直接在书页中展开细节内容;
矩阵式排列:
书页式排列:
你正在追的是哪一部呢?