一.网页结构与URL的规律
豆瓣电影的网址为https://movie.douban.com/top250 ,第一页的网址为https://movie.douban.com/top250?start=0&filter=;
powerbi从web网址获取数据一般需要确认网址规律,即:了解从哪里抓取,抓取的网页有哪些特点,是否有统一规律。
image.png
通过观察这个网址的首页,可以看出每个页面排布着25个电影,总共10页,分页展示250部电影。切换不同页时,只有网址中间的“start=0”在变化,每一页的URL中数字呈现等差数列变化。
二.构建爬虫函数
2.1.获取一页数据
首先用豆瓣电影第一页的数据,powerbi面板选择从Web获取数据,url先填写https://movie.douban.com/top250?start=0&filter= 。
接下来导航器中会直接提取出所获取的表格。
112.png
此时获取的数据表列明缺失,需要去power query中稍微处理下。 image.png
此时,网址第一页,25部电影就已经获取下来了,接下需要在此基础上,构建参数与函数。
2.2 构建参数与函数
在power query界面的参数管理下选择新建参数,构建一个页码参数。设置成从0开始的文本即可。
113.png
在power query界面刚才生成的一张表叫表1,现在修改表1的数据源,让其url链接包含页码参数。
114.png
选择高级,此时会将整个url拆分开,将中间页码部分替换成刚才新建的参数。 115.png
接下来需要选中表1,单击右键创建名为“Top电影提取”的函数。
116.png
构建完成后,在左侧会出现以下界面。
image.png
2.3 构建页码列表
在新建空查询下面,使用List.Numbers(0,10,25)创建一个list.
117.png
右键选项到表,将这个list转换成表格,接下来可以改个列明,重点注意需要将字段格式设置成文本。
image.png
接下来在这个表里面添加列,选择用查询添加列。
119.png
完成添加列之后如下所示。
image.png
可以看出,每个页码都查询出一个table,扩展查询到的表。
121.png
点击确定即可,最终就可以得到完整的250部电影列表了。
最后结果如下。
122.png
网友评论