你会用excel抓取网页数据吗? 今天就使用excel抓取9000条数据,来实际的看一下猪肉的价格走势,以及最近的猪肉价格
这里我们抓取的数据是一个猪肉的报价网,类型是白条肉,白条猪肉是指仅去除内脏、头、脚等部位后没有经过其他任何加工的猪肉,基本上就相当于猪肉的出厂价了,下面就我们着手抓取数据
一、抓取数据整理格式
如下图我们可以看到,每一页网址的数据几乎都是一样的,只有网址最后的页码是不一样的,所以在这里我们可将网址分为两段,将页码设置为一个变量然后将所有的页码带入即可获得全部的数据,这个就是我们抓取9000多条数据的原理
首先我们点击数据功能组,然后点击获取数据选择自其他源,选择自网站,看到窗口后我们点击高级,将网站分为2部分,将代表页码的数字单独放在一个输入框里,然后我们点击确定,当看到导航器的界面之后,我们选择table0这个表,然后点击转换数据将数加载到powerquery中
紧接着我们需要将数据整理一下,在这里我们需要先把第一行数据删除,然后在为表格添加一个标题,因为在表格中有一些数据是无用的,在这里我们仅仅保留,日期,省份,报价地点以及价格即可将其余的全部删除
随后我们点击视图,然后点击高级编辑器,在let上面加入一行代码:(x as number) as table =>
然后将网址中的“1”更改为(Number.ToText(x))随后我们点击确定即可,这样的话我们刚才的操作就被封装为了一个函数,输入页码即可跳转到对应的数据
二、数据抓取
在这里数据一共有304页,我们需要新建列表将这304个带入我们刚才创建的函数中,首先我们新建一个空查询然后在编辑栏中输入={1..304}新建一列表,然后点击转到表,随后我们点击添加列,选择调用自定义函数,将函数设置为table0点击确定,这样的话excel就会开始数据抓取,整个过程大概耗费5分钟左右
抓取完后我们会看到在数据中多了一列table列,我们点击右上方的箭头来扩展数据,然后我们将第一列数据删除,随后我们点击价格这一列数据将单位替换掉,再将其格式设置为常规格式即可,最后我们点击关闭并上载至,键数据加载带excel中
三、数据分析
将数据加载到excel中之后我们插入一个数据透视表,然后根据数据透视表构建图表,如下图是近1个月的猪肉价格走势图(网址只保留一个月的数据没有抓到更多的数据),价格整体上是下降的,但是幅度不大,在这里我们的计算单位是公斤
随后我们再来看下今天那个区域的猪肉价格报价最高,如下图,上海名列第一49元/kg,广西次之48.33元/kg,猪肉最便宜的是陕西省报价为35元/kg
在这里我们抓取的是白条猪的价格,白条猪价格加价10元左右一般就是猪肉的零售价格,这么一算,一斤猪肉大概在25左右,突然觉得猪肉好像也没那么香