Hello~我是运营菌 。
今天给大家推荐一个Excel内置神器,Power Query 。本文一次性教会大家 , 如何让表格实时同步网页上的数据?如何一次性批量爬取多页面的数据?如何爬取电商平台的商品数据?
如果想详细学习,下载练习资料,可私信关键词【BI看板】 , 或点击下方的专栏购买课程 。
01.实时同步网站数据 , 并生成报表
日常做报表 , 即使是网页数据 , 我们经常是导出Excel,然后再把数据做成分析图表 。但数据有更新后,需要把数据重新下载下来 。现在利用Power Query爬取网站的数据后 , 网站数据有更新,只需要在Power BI 或Excel中点击刷新即可 。(注:Excel需要2016版本或以上)
课程案例:从网页中获取新冠肺炎的国内和国外数据 。
网址:实时更新:全国新冠肺炎疫情最新动态

国内疫情

国际疫情
首先从主页中【获取数据】 , 选择Web选项,获取数据 。

获取数据中,选择Web选项
如果网页中明显是表格样式的数据表,直接选择【基本】就OK,【高级】在下面内容有介绍 。

这里输入需要爬取数据的网址
选择你需要的表格,直接点击打勾 。

如果表格不符合你要求,或者不规范的表格,可以使用示例添加表 。例如这样不规范的表格数据,想要每一部电影作为一行数据,每个公司作为一行数据,就可以使用示例表 。

不规范表格列子
上面这些情况,就需要使用示例表 。

使用示例表添加
只需要把前面2行的内容填好,其他内容 , Power BI会自动识别补充完整 。

以上就是网页获取数据的 , 最基础操作 。接下来,学习从网页获取数据的高级操作 。
02.利用Power Query批量爬取电商商品数据
随着电商业务的发展,学会分析自己品类的电商业务也越来越重要 。例如要知道自己店铺品类的竞争对手有多少,他们卖多少钱 , 这个市场有多大,整个市场的购买力如何等等问题 。都是需要通过获取数据,进行分析,才能更好指定运营策略 。
需要爬取多页的数据,必须使用到【Web】获取数据的高级选项 。首先需要观察网页数据,可以复制前面3页数据,进行对比 。
此处很清晰看到网址由3部分构成 , 有2个&链接符,网页翻页数规律是单数1,3,5……,待会有代码控制数值变化 。

根据这些规律即可得到:网址固定部分 变化的页码=完整网址 。

选择满足自己需求表格或通过示例表,跟基础操作一样 。

经过上面操作 , 我们就完成了一页电商手机搜索信息爬取,但我们需要爬取所有页面的数据,所以刚刚完成了一半 。
确定数据后,打开主页下的【高级编辑器】
1.定义函数代码:(p as number) as table =>
2.把“1”替换的代码:(Number.ToText(p))

完成后,刚刚的表格就变成了这样的函数形式 。这样输入一个P , 只能调用具体某1页的数据 。

现在需要1到58页的所有页码数据,可以事先弄好一个1到58的序列表格,从Excel上导入进来 。然后,选中1-58的数列,点击【添加列】【调用自定义函数】 。

选择刚刚变成函数的表,这里也就是表1 , 前面有个fx标志 。

最后,点击新列的表1上箭头,展开数据,即可获得所有页面的商品数据 。

【给大家推荐一个Excel内置神器,批量获取网站表格数据源】恭喜你已经获得爬取多个页面数据的能力 , 请继续学习吧~
