如何用PowerBI批量爬取网页数据?

前面介绍PowerBI数据获取的时候,曾举了一个从网页中获取数据的例子,但当时只是爬取了其中一页数据,这篇文章来介绍如何用PowerBI批量采集多个网页的数据。

本文以智联招聘网站为例,采集工作地点在上海的职位发布信息。

下面是详细操作步骤:

(一)分析网址结构

打开智联招聘网站,搜索工作地点在上海的数据,

下拉页面到最下面,找到显示页码的地方,点击前三页,网址分别如下,

  • http://sou.zhaopin.com/jobs/searchresult.ashx?jl=%e4%b8%8a%e6%b5%b7&sm=0&sg=fe782ca83bfa4b018d27de559d0a5db0&p=1

  • http://sou.zhaopin.com/jobs/searchresult.ashx?jl=%e4%b8%8a%e6%b5%b7&sm=0&sg=fe782ca83bfa4b018d27de559d0a5db0&p=2

  • http://sou.zhaopin.com/jobs/searchresult.ashx?jl=%e4%b8%8a%e6%b5%b7&sm=0&sg=fe782ca83bfa4b018d27de559d0a5db0&p=3

可以看出最后一个数字就是页码的ID,是控制分页数据的变量。

(二)使用PowerBI采集第一页的数据

打开PowerBI Desktop,从网页获取数据,从弹出的窗口中选择【高级】,根据上面分析的网址结构,把除了最后一个页码ID的网址输入第一行,页码输入第二行,

从URL预览中可以看出,已经自动把上面两行的网址合并到一起;这里分开输入只是为了后面更清晰的区分页码变量,其实直接输入全网址也是一样可以操作的。

(如果页码变量不是最后一位,而是在中间,应该分三行输入网址)

点击确定后,发现出来很多表,

从这里可以看出,智联招聘网站上每一条招聘信息都是一个表格,不用管它,任意选择一个表格,比如勾选Table0,点击编辑进入Power Query编辑器。

在PQ编辑器中直接删除掉【源】之后的所有步骤,然后展开数据,并把前面没有的几列数据删除。

这样第一页的数据就采集过来了。然后对这一页的数据进行整理,删除掉无用信息,添加字段名,可以看出一页包含60条招聘信息。

这里整理好第一页数据以后,下面进行采集其他页面时,数据结构都会和第一页整理后的数据结构一致,采集的数据可以直接拿来用;这里不整理也没关系,可以等到采集所有网页数据后一起整理。

如果要大批量的抓取网页数据,为了节省时间,对第一页的数据可以先不整理,直接进入下一步。

(三)根据页码参数设置自定义函数

这是最重要的一步。

还是刚才第一页数据的PQ编辑器窗口,打开【高级编辑器】,在let前输入:

(p as number) as table =>

并把let后面第一行的网址中,&后面的"1"改为(这就是第二步使用高级选项分两行输入网址的好处):

(Number.ToText(p))

更改后【源】的网址变为:

"http://sou.zhaopin.com/jobs/searchresult.ashx?jl=%e4%b8%8a%e6%b5%b7&sm=0&sg=fe782ca83bfa4b018d27de559d0a5db0&p="&(Number.ToText(p)))),

确定以后,刚才第一页数据的查询窗口直接变成了自定义函数的输入参数窗口,Table0表格也变成了函数的样式。为了更直观,把这个函数重命名为Data_Zhaopin.

到这里自定义函数完成,p是该函数的变量,用来控制页码,随便输入一个数字,比如7,将抓取第7页的数据,

输入参数只能一次抓取一个网页,要想批量抓取,还需要下面这一步。

(四)批量调用自定义函数

首先使用空查询建立一个数字序列,如果想抓取前100页的数据,就建立从1到100的序列,在空查询中输入

={1..100}

回车就生成了从1到100的序列,然后转为表格。gif操作图如下:

然后调用自定义函数,

在弹出的窗口中点击【功能查询】下拉框,选择刚才建立的自定义函数Data_Zhaopin,其他都按默认就行,

点击确定,就开始批量抓取网页了,因为100页数据比较多,耗时5分钟左右,这也是我第二步提前数据整理造成的后果,导致抓取比较慢。展开这一个表格,就是这100页的数据,

至此,批量抓取智联招聘100页的信息完成,上面的步骤看起来很多,实际上熟练掌握以后,10分钟左右就可以搞定,最大块的时间还是最后一步进行抓取数据的过程比较耗时。

网页的数据是不断更新的,在操作完以上的步骤之后,在PQ中点击刷新,可以随时一键提取网站实时的数据,一次做好,终生受益!

以上主要使用的是PowerBI中的Power Query功能,在可以使用PQ功能的Excel中也是可以同样操作的。

当然PowerBI并不是专业的爬取工具,如果网页比较复杂或者有防爬机制,还是得用专业的工具,比如R或者Python。在用PowerBI批量抓取某网站数据之前,先尝试着采集一页试试,如果可以采集到,再使用以上的步骤,如果采集不到,就不用再耽误工夫了。

现在就打开PowerBI,尝试着抓取你感兴趣的网站数据吧。

Power Query系列回顾:

数据获取,PQ就是这么任性!

数据清洗中最常使用的十三招

Power Query 数据丰富,依然轻松搞定!

PQ高阶技能:M函数

(0)

相关推荐

  • 网页禁止复制怎么办?

    前言 发现 虽然不能复制,但是我发现鼠标右键有个搜索命令,不妨直接点一下看看 网页自动打开搜索网址 发现网址栏有我需要的内容,这个肯定能够复制,于是我把鼠标放在网址栏,复制到EXCEL中,结果如下,简 ...

  • 用PowerBI制作上市公司财务报表分析模型

    我花了两周时间对采悟老师的上市公司财务报表分析模型进行了像素级的复刻,这个过程中学到了非常多的PowerBI建模及可视化设计的技巧,受益良多. PowerBI星球财务分析模型: 我将分几篇文章,在这里 ...

  • 如何利用Excel批量爬取网页上不规范的数据?

    Hello~我是运营菌. 快过年了,有空可以多陪陪家人和孩子.如果有空无聊时,推荐去看看电影.这里给大家推荐的是豆瓣电影TOP250,每一部都是经典,值得再去回顾.这里就叫大家如何把这样的电影列表爬取 ...

  • 腾讯的良心服务来了!用了就回不去,赶紧来白嫖

    小伙伴们平时有没有自动签到的需求? 自从进入移动互联网时代,各大App为了留下咱们用户,搞了不少骚操作. 最常见的,就是让我们每日签到来换取一些经验或者福利. 比如天翼云盘就有个常驻的"每日 ...

  • Excel说一大波小姐姐正在来袭

    看到这些美女了吗?别以为小编无聊一个一个去下载的,这个都是Excel干! 不管我的事情! 让我们来看看Excel他到底干了啥!有这么多妹子~ 成品效果演示 我们今天测试的网址:https://pic. ...

  • 华为手机浏览器如何自定义网页?

    所有华为手机都自带有默认的浏览器,而且这个浏览器的主页也是设定好的,不过这个主页很多时候对我们没什么用,所以也可以自定义成我们经常登录的网页,下面就是设置方法! 下图一就是当前华为手机浏览器默认的主页 ...

  • Python爬虫入门教程!手把手教会你爬取网页数据

    什么是爬虫? 爬虫就是自动获取网页内容的程序,例如搜索引擎,Google,Baidu 等,每天都运行着庞大的爬虫系统,从全世界的网站中爬虫数据,供用户检索时使用. 爬虫流程 其实把网络爬虫抽象开来看, ...

  • python如何爬取网页数据

    少儿编程网2020-09-28 13:21:10[Python编程] 25人已围观 来源:少儿编程 -用户投稿 简介python爬取网页数据的方法:使用"import"语句导入re ...

  • python爬虫爬取网页表格数据

    https://download.csdn.net/download/weixin_38581447/12870156?utm_medium=distribute.pc_relevant_downlo ...

  • 怎么抓取网页数据 爬虫技术可以爬取什么数据?

    简而言之,爬虫是一种探测机器.它的基本操作是模拟人类行为,在各种网站上漫步,点击按钮,查看数据,或者背诵你看到的信息.就像一只不知疲倦地在建筑物周围爬行的虫子. 因此,爬虫系统有两个功能: 爬虫数据. ...

  • 教你用Python批量爬取小说!这年头了谁看小说还充钱啊!

    爬取小说的思路: 首先获取小说的地址. 分析目录地址结构. 进行地址的拼接. 分析章节内容结构. 获取并保存文本. 完整代码 1.获取小说地址 加载需要的包: import re from bs4 i ...

  • Power BI “Web”体验功能,让小白无码爬取网络数据更轻松!

    小勤:这个网站的数据怎么抓?我用Power Query试了一下,抓不下来-- 网址:http://www.zjzwfw.gov.cn/zjzw/punish/frontpunish/showadmin ...

  • (3条消息) Python爬取考研数据:所有985高校、六成211高校均可调剂

    又到了一年一度的考研出分时间啦,近期有不少朋友让笔者帮他们分析如何提前做好调剂.复试与调剂总是密不可分.今天,给大家分享一些调剂的重要知识点,希望你在调剂的时候,能明白调剂的趋势与规则.也许,大家对于 ...

  • 批量爬取居民点地址转经纬度

    批量爬取居民点地址转经纬度