excel自动抓取网页数据(如何用PowerBI批量采集多个网页的数据(图))
优采云 发布时间: 2021-09-23 01:04excel自动抓取网页数据(如何用PowerBI批量采集多个网页的数据(图))
Powerbi批处理爬网数据
在前面介绍powerbi数据采集时,我给出了一个从网页获取数据的示例,但当时我只抓取了一页数据。本文文章介绍如何使用powerbi批处理采集多个网页。同样可以在Excel的PQ中完成
以智联招聘网网站为例,采集在上海发帖
具体操作步骤如下:
(一)analyze网站结构)
打开智联招聘网站,搜索上海工作场所的数据
将页面向下拉到底部,找到显示页码的位置,单击前三页,网站如下所示
可以看出,最后一个数字是页码的ID,它是控制页面数据的变量
(二)use)PowerBI采集第一页上的数据
打开powerbidesktop,从网页中获取数据,从弹出窗口中选择[advanced],根据上面分析的网址结构,在第一行输入除最后一页ID之外的网址,在第二行输入页码
从URL预览可以看出,上面两行中的URL已经自动合并在一起;这里单独输入只是为了更清楚地区分页码变量。实际上,也可以直接输入整个URL
(如果页码变量不是最后一个,但在中间,用三行输入网址)
单击“确定”后,会找到许多表
从这里可以看出,智联招聘网站中的每一条招聘信息都是一个表,不管它是什么,都可以任意选择一个表,比如勾选表0,点击编辑,进入powerquery编辑器
直接在PQ编辑器中删除[source]之后的所有步骤,然后展开数据并删除前面的数据列
这样,第一个页面的数据将采集来,然后对该页面的数据进行整理,删除无用信息,添加字段名,可以看出一个页面收录60条招聘信息
在这里整理好第一页上的数据后,采集其他页面的数据结构将与第一页上整理好的数据结构一致,采集的数据可以直接使用,不在这里整理也没关系,你可以等到采集网页上的所有数据一起整理好
如果您想获取大量网页数据,为了节省时间,您可以直接进入下一步,而不必在第一页上对数据进行排序
(三)根据页码参数设置自定义功能)
这是最重要的一步
在刚才数据第一页的PQ编辑器窗口中,打开高级编辑器,在let前面输入:
(p为编号)为表=>
PQ高级编辑器
并将let to后第一行URL中的“1”改为(
这是第二步(使用高级选项分两行输入URL的优点)
:
(编号:ToText(p))
更改后,[source]的网址变为:
“上海&;SM=0&;SG=fe782ca83bfa4b018d27de559d0a5db0&;p=“&;number.ToText(p))
确认后,第一页数据的查询窗口直接成为自定义函数的输入参数窗口,table0表也成为函数的样式,为了更直观,将此函数数据重命名为_zhaopin
在这里,用户定义的函数完成了。p是函数的变量,用于控制页码。输入任意数字,如7,以获取第7页上的数据
输入参数一次只能爬网一个网页。要批量爬网,您需要执行以下步骤
(四)batch call自定义函数)
首先,使用空查询创建数字序列。如果要捕获前100页的数据,请创建从1到100的序列,并将其输入空查询
={1..100}
按enter键生成一个从1到100的序列,然后将其转换为表格。GIF操作图如下:
然后调用自定义函数
在弹出窗口中,点击[function query]下拉框,选择刚刚创建的自定义函数数据_zhaopin。其他所有内容默认在线
单击“确定”开始批量抓取网页,因为有100多页的数据,这大约需要5分钟。这也是我提前整理数据的第二步导致抓取缓慢的结果。展开此表,它是这100页的数据
到目前为止,智联招聘100页信息的批量抓取已经完成,上面的步骤似乎很多,其实掌握了之后,大概10分钟就可以完成,最多的时间就是最后一步,抓取数据的过程非常耗时
网页数据不断更新,以上步骤完成后,点击PQ中的刷新按钮,一键可随时提取网站实时数据,一次完成,终身受益
以上主要使用powerbi中的powerquery功能,也可以在Excel中使用PQ功能进行操作
当然,powerbi不是一个专业的爬行工具。如果网页很复杂或有反爬行机制,你仍然需要使用专业工具,如R或python。在使用powerbi批量抓取某个网站数据之前,请先尝试采集页面。如果可以访问采集则使用上述步骤。如果无法访问采集则嘿,没有必要拖延
现在打开powerbi并尝试捕获您感兴趣的网站数据