中企动力 > 商学院 > excel网页数据抓取
  • ?

    原来网页上的数据表格,还可以这样导入到自己的Excel表中

    苏珊

    展开

    工作中经常会遇到在网页上看到一个数据觉得有需要,想要将其搬到我们自己的Excel。但是有些表格复制过来都是有设置了超链接还要一个个将其去除,还有一些别个复制过来是打乱了的。那么如何将网络上的数据导入到我们自己的Excel表格中呢?

    网页上的许多数据都是以表格的形式存在的,通过Excel可以直接从网页上获取这些数据。只需要通过【数据】选项卡中的“获取外部数据”工具即可获取网页里表格中的数据。

    有些数据表格是可以通过复制的,但是有些又不行,今天跟各位朋友分享如何将网页上的数据导入到自己的Excel表中的一个操作技巧,希望对大家有所帮助!

    1、新建一个空白工作簿,单击【数据】选项卡中的“自网站”按钮;在打开的对话框“地址”文本框中输入需要导入的网址,然后单击“转到”按钮;

    2、将网址粘贴到“地址”栏“转到”,找到自己需要的表格会看到一个“黄色框里面有个箭头”单击就会勾选选中这个表格,然后单击“导入”按钮导入选中的表格;

    3、弹出一个“导入数据”框,设置导入数据表格的位置,如A1单元格,然后单击“确定”按钮;

    4、看到“正在获取数据...”;

    5、网页导入数据表格(如图左边);网页复制数据表格文字有超链接(如图右边)有些复制出来这个数据是打乱的;

    网页导入数据表格与网页复制数据表格对比

    6、用“套用表格格式”一键美化导入进来的数据表格即可

    一键美化导入数据表格格式

    今天分享的“如何将网页上的数据表格导入到自己的Excel表中”方法有很多种,今天就分享这一种,希望对各位朋友们在工作中有所帮助。

    更多关于Office-Excel操作小技巧可加入我们群一起交流学习。

  • ?

    超实用:通过Excel进行数据采集

    和谐

    展开

    前言

    IBM大中华区总经理胡世忠曾说:数据构成了智慧地球的三大元素——智能化、互联化和物联化,而这三大元素又改变了数据来源、传送方式和利用方式,带来“大数据”这场信息社会的变革。

    从上可见,时代的变革是源于对数据的利用,对企业而言,数据也同样是其发展、转型的命脉。在工作中,我的前辈不止一次地强调,数据是公司的资产,而且举足轻重。我们对待数据,一定要严谨,经得起考验,对自己的数据负责,这是一个数据人的基本要求。

    数据资源

    大数据时代,数据虽然很多,但是也不是随意得来的,需要利用各种渠道和方式获得。不管从哪个角度来说,数据可分为内部数据和外部数据。内部数据是企业在日积月累的经营中得来的,我们应该对这些数据挖掘、收集有价值的东西,形成企业的数据资产。内部数据重在后期的处理和分析上。

    下面先说外部数据的获取方式,以及通过Excel操作来获取外部数据。

    外部数据获取方式

    1、专业网站看数据(某一个行业、某一件产品)2、通过收费渠道买数据(第三方数据平台等)3、通过特殊形式引数据(网站爬虫,统计网站等)4、自身积累数据(时间久、跨度长)

    Excel获取外部数据

    作为一个数据分析师以及想更进一步成长为数据科学家,熟练操作基本的办公软件以及SQL查询是很重要的。请看下面通过Excel获取外部数据的步骤。

    第1步:打开“新建web查询”框。新建Excel工作簿,在打开的工作表中单击“数据”选项卡,然后在“获取外部数据”组中单击“自网站”按钮,如下图。

    第2步:输入网址并选择要导入的表格数据。在弹出的“新建web查询”对话框中的“地址”文本框中复制粘贴上述网页的网址,然后单击“转到”,找到网站中的表格数据后单击表格左上角的箭头→,图标变成选中状态的复选框√。如下图。最后单击下方的“导入”按钮。

    第3步:选择数据的放置区域。点击导入后,Excel会出现“导入数据”对话框,如下图,选中你想放置的单元格,单击“确定”开始导入。

    第4步:美化导入的数据。由于导入的数据多且乱,要调整格式使数据规范,并启用冻结窗格功能方便浏览。如下图。

    好了,上面就是通过Excel操作来获取网站上的外部数据,很简单吧,但网站中的数据并非都是以表格的形式呈现,现在大部分是以json格式呈现,Excel不是万能的,而且现在很多网站需要付费才能导数据(上面说过数据就是企业的资产)。

    小结

    希望通过上面的操作能帮助大家。如果你有什么好的意见,建议,或者有不同的看法,我都希望你留言和我们进行交流、讨论。

    End.

  • ?

    PowerQueryM函数-Excel小爬虫之爬网页数据

    荣依萱

    展开

    欢迎关注天善智能,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区,学习,问答、求职一站式搞定!

    Power Query以往文章登陆天善社区:

    Power Query M函数(1)--数据类型及数据结构

    PowerQuery M函数2--计算方式与运算符

    Power Query M函数(3)--数据类型转换、元数据及错误处理

    通过前三节的学习,相信大家已经对M函数的基础知识有了一定的了解,从本节开始,将通过实用案例,为大家逐步介绍M函数的应用方法。

    本节将为大家介绍的案例是使用Web.Page与Web.Contents函数从PM2.5历史数据网站上爬取不同城市不同日期的历史大气质量相关数据的方法。本方法适用于通过在Power Query中输入网址便可直接获取到所需数据的情况(本案例是指网页地址中有可见表格数据的情况)。

    在进入正文前,先向大家介绍一种简单获取中文函数帮助信息的方法,方法如下:

    1. 在Power Query查询编辑器中新建一个空查询

    2. 在编辑栏中输入=#shared

    3. 点击“到表中”

    4. 通过对Name字段进行筛选的方法来获取相关的函数帮助信息

    Web.Page与Web.Contents函数说明:

    1. Web.Page函数:返回HTML文档的内容(分解为其组成结构),以及完整文档的表示形式及其删除标记后的文本

    表达式:Function(html as any) as table

    注释:使用Web.Page函数可以获取到HTML形式网页内的相关信息,并以表的形式返回结果

    2. Web.Contents函数:将从url下载的内容返回为二进制。可以提供可选记录参数options以指定其他属性。记录可以包含以下字段……(内容较多省略,详细说明请通过#shared查询)

    表达式:Function (url as text, optional options as nullable record) asbinary

    注释:付给Web.Contents网页地址后,Web.Contents函数可以将网页内的信息以二进制数的形式返回

    将两个函数嵌套使用Web.Page(Web.Contents(网址))后变可将网页内的信息最终以表的形式呈现出来。运算逻辑是先用Web.Contents函数获取指定网址内的二进制信息,再用Web.Page函数对二进制信息进行转换、解析,最终获得我们所能够理解的表形式数据。

    爬取PM2.5历史数据网页内各城市过去每天的历史大气质量数据:

    网页主地址:https://aqistudy/historydata/

    所需要的日均空气质量数据(以北京2014年1月份为例):

    网页地址:https://aqistudy/historydata/daydata.php?city=北京&month=2014-01

    使用Power Query对上述网页进行爬取的目的是能够批量一次性爬取多个城市各不同月份下的不同日期的大气质量历史数据。

    爬取步骤如下:

    1. 对网址特点进行分析后,发现只要将city=后边的部分改为想要的城市名,再将month=后边的部分改为想要的月份数字就可以打开不同城市,不同月份下的日历史数据网页

    2. 所以我们现在Excel表格界面建一个包含城市名和月份信息的表,并将其添加到Power Query中

    3. 将[月份]字段转换为文本型数据

    4. 在Power Query编辑器中添加自定义列,内容如下:

    公式内容:

    Web.Page(Web.Contents("https://aqistudy/historydata/daydata.php?city="&[城市]&"&month="&[月份]))

    5. 点击“继续”后选择“公共”并保存(数据量较大需耐心等待,练习时建议只做两个城市的数据)

    6. 展开自定义字段中的Data

    7. 再次展开自定义字段中的相关字段(从日期到排名)

    8. 关闭并上载

    上述内容就是爬取网页信息的全部步骤。好了,来看一下爬取到的数据吧。

    本文作者:李奇,天善社区专家,中国电子表格应用大会主席、天善智能/网易云课堂/经管之家等签约讲师,曾任职于IBM及德勤会计师事务所,从事业务分析及数据分析咨询工作,擅长用Excel创建商业智能报表。

    天善学院课程推荐:

  • ?

    不可思议!居然用Excel可以实时爬取足彩赔率数据

    凌曼荷

    展开

    上一篇讲了,有同学在评论里面问如何抓如何使用excel一键爬虫使用功能足彩相关数据,这次给大家讲解一下哈。

    这次我拿某个足彩数据网页进行抓取,如果抓取单个页面其实可以用上一篇文章教程就可以抓取到,有的同学说想抓多期的数据,那我这次给大家讲解如何抓取。

    首先我们先找到页面之间的规律?对 就是日期那部分,只要我们把日期那部分进行设置一下就可以了。

    接下来我说一下具体教程:

    Step1:我们打开一个excel,在excel里面创建一列,把这几个日期添加到表里,然后建立查询数据表。

    Step2:把数据类型设置为文本格式

    Step3:然后在选择添加列选项卡中自定义列,并添加相关公式

    这次使用到的公式:=Web.Page(Web.Contents(URL))

    Step4:选择需要展示的数据

    (1)首先只选择data

    (2)然后勾选如下图所示的内容

    最后选择关闭并上传数据上传完成了,就这么简单。

    这次就讲到这里,如果有什么疑问或者不懂的可以在下面评论,大叔看到会回复的。

  • ?

    一张表告诉大家51去哪儿玩:手把手用excel抓取30万数据

    情切

    展开

    各位乘客,五一小长假就要到了,请带好您的随身物品,准备启程。省内游请向左,国内游往右,国外请直走不用回头,祝大家旅途愉快。

    小编只是宅男一枚,要说玩我是真的不会。所以可能要让您失望了,本文章只是算是一技术贴,而且有点长。毫不夸张的说,这是一张比艾瑞网还要详尽的行业报告。

    艾瑞咨询数据网

    说实话,创业以来我就出游过一次,而且还是玩一半就回来加班了,所以我就告诉自己,一个苦逼创业的穷小子,有什么可玩的呀。附上自己的一句教诲给大家:自律而后自驱,自驱而后自信,自信方能沉稳。

    下面进入主题。先上一张效果图(这样30万+的数据只要分分钟就解决):

    去哪儿网51出游数据抓取效果图

    相信大家在做Excel数据表的时候,都碰到过这样的问题:每当数据源是来自网页的时候,我们经常需要重复性的复制粘贴至表格,才能进行后续的分析,不仅耽误时间而且容易出错。

    在零一老师的指导下,我在Excel道路上又跨出了一步,学会了利用Excel自带的PowerQuery以及简单的3个函数根据自身的需求得到了去哪儿网30多万条旅游数据。

    好处还不仅仅于此,表格制作完成后可以随意修改出发地,单击刷新,表格将会自动抓取新的数十万条数据,完全自带共享功能,绝对称得上是装X利器。

    以下是具体的步骤(友情提示,下面的操作步骤很详细,所以看起来有点繁琐,但只要你动手做,很简单):

    打开去哪儿官网

    哪儿官网

    →在键盘上按下F12键→手机端标识

    手机展现

    →在键盘上按下F5键→度假

    度假

    →清除

    清除

    →空白处

    搜索框

    →点击加载热门城市

    选择热门城市

    →Network

    network

    →JS

    js

    →arriveRecommend

    arriveRecommend

    →Preview

    Preview

    →data

    data

    →1

    1

    →subModules

    subModules

    →0

    0

    →items

    items

    →0→1→2→3→4→5,这样我们就找到了需要的所有分类,接下来我们返回去找到链接结合函数就能抓取所有我们能看到的分类。

    1-2-3-4-5

    →Headers

    Headers

    →选中的部分为URL编码,因此我们需要先解码,一探究竟。

    URL编码

    →在百度搜索框键入“解码”→回车

    解码

    →站长工具

    站长工具

    →URL编码/解码

    URL编码/解码

    →将编码粘贴进去→UrlDecode

    将编码粘贴进去→UrlDecode

    →解码之后我们发现编码就是出发地→新建一张Excel表格→键入出发地→键入温州→从表格

    新建一张Excel表格

    →将表包含标题勾上→确定

    将表包含标题勾上→确定

    →添加列

    添加列

    →自定义列

    自定义列

    →将之前含有编码的网页链接复制进来https://m.dujia.qunar/golfz/sight/arriveRecommend?dep=%E6%B8%A9%E5%B7%9E→将编码替换成函数Uri.EscapeDataString()

    导盲犬:Uri.EscapeDataString()函数是转码用的,默认是ut8。

    注:函数需区分大小写并且括号是在英文状态下键入的,插入函数的时候要在函数前面加上连接符号“&”。

    →在括号中间选中

    →双击出发地

    双击出发地

    →插入Web.Contents函数→插入Json.Document函数→确定

    导盲犬:函数Web.Contents()是将从webURL下载的内容返回为二进制值,函数Json.Document()是返回一个JSON文件的内容,直接解析json的格式化数据。

    注:插入的函数Web.Contents()需要在括号里面加“”号,表示引用文本。

    →继续

    →倒三角→公共→保存

    →扩展(扩展的依据是之前我们在浏览器代码上找到的内容所处的位置)

    →仅勾选data→确定

    →扩展

    →仅勾选subModules→确定

    →仅勾选items→确定

    →仅勾选query→确定

    →倒三角

    →将null前面的勾去掉→确定,这样我们就得到了所有从温州出发可以到达的目的地。

    →接着我们返回浏览器单击清除

    →三亚

    →XHR

    →listApi.json?modules=list

    →list

    →results

    →3

    →根据自己的需求找到数据,我找了productScore(评分),soldCount(销量),title(标题)totalPrice(价格)。

    →这里我还多找了一个encodeId(编号),是为之后抓取评价用的。

    →将所有的编码复制

    →粘贴至转码→UrlDecode解码

    →解码后,就可以发现其中的变量只有出发地(温州)和目的地(三亚),接着我们回到查询编辑器

    →添加自定义列

    →将3段变量编码全部修改为Uri.EscapeDataString()函数,并且依次选中括号双击右侧的出发地,query,query,注意这里需要键入的连接符号。

    →插入Web.Contents()函数,注意这里所有的文本需要键入的引号,文本与变量之间用“&”号连接。

    →插入Json.Document()函数,由于函数太长截不下全图,我就粘贴在这里。“https://touch.dujia.qunar/listApi.json”是接口,“?”后面的是参数。

    Json.Document(Web.Contents("https://touch.dujia.qunar/listApi.json?modules=list,bookingInfo&dep="&Uri.EscapeDataString([出发地])&"&query="&Uri.EscapeDataString([query])&"&mtype=all&mobFunction=%E8%87%AA%E7%94%B1%E8%A1%8C,%E5%87%BA%E5%8F%91%E5%9C%B0%E5%8F%82%E5%9B%A2,%E7%9B%AE%E7%9A%84%E5%9C%B0%E5%8F%82%E5%9B%A2,&it=dujia_hy_destination&bd_source=wdcx2&page=home&mobfuncname=%E8%87%AA%E7%94%B1%E8%A1%8C,%E5%87%BA%E5%8F%91%E5%9C%B0%E5%8F%82%E5%9B%A2,%E7%9B%AE%E7%9A%84%E5%9C%B0%E5%8F%82%E5%9B%A2&date=&configDepNew=&needNoResult=true&originalquery="&Uri.EscapeDataString([query])&"&limit=0,28&includeAD=true&qsact=search"))

    →仅勾选list→确定

    →仅选中results→确定

    →将“选择所有列”前面的勾去掉

    →勾选encodeId,productScore,soldCount,title,totalPrice这五个选项→确定

    到这里,我们就只差一个评价没有抓取了,返回浏览器。

    →点击任意一款有销量的旅游产品进入

    →查看评价

    →queryPComments

    →mainCommentList

    →评价在content下。

    →找到链接,发现其中就只有ID是变量,接着我们返回查询编辑器

    →将链接复制进去,因为没有编码所以就不要转码函数,只需将原先的数字去掉,双击键入encodeld,注意需要添加连接符号。

    →插入Web.Contents()函数,注意添加的引号。

    →插入Json.Document()函数→确定。注:这里把Size后面的数字改为50,是每次加载50条评价的意思。

    →加载更多

    →仅勾选mainCommentList→确定

    →仅选中content→确定

    →soldCount右侧的倒三角

    →将null前面的勾去除→确定

    →关闭并上载

    →得到10万+数据

    共享给好友时,结合实际情况修改出发地。步骤:将温州改为上海

    →数据→显示查询

    →双击右侧表1,转至查询编辑器界面

    →刷新预览

    →出发地倒三角符号→加载更多

    →关闭并上载(这里先把原先以温州为出发地的表格删除,然后才能加载成功)→右击表1→加载到

    →单击表左侧圆圈→加载

    →10万+数据加载成功

    也可添加多个出发地。步骤:在温州下行,分别键入杭州、上海

    →出发地倒三角符号

    →加载更多→确定

    →右击表1→加载到

    →30万+数据大功告成!

    这就是我辛苦做了2个小时后的一个报告

    下面可以通过自己的需求筛选以及提取自己需要的数据,如果你是一个想知道大家都去哪儿玩了,避开高峰的朋友,我想三亚肯定不要去了,如果你是一名旅行社的老板,那么大家参加了什么价格的团购,去了哪儿,那就是一目了然呀。如果你是职场小白,那么可以跟我一起来学习怎么更多技能,你可以想想,你之前就会这些技能的话,可以节省下太多的时间LOL......

  • ?

    有了PowerQuery,Excel也可以玩爬虫了

    童涟妖

    展开

    PowerBI的强大绝不仅是最后生成炫酷的可视化报告,她在第一步数据获取上就显示出了强大的威力,利用Power Query 的强大数据处理功能,几乎可以从任何来源、任何结构、任何形式上获取数据

    以下以PowerBI中的操作为例,在Excel的Powerquery插件或者Excel2016中操作类似。

    数据的获取上不仅支持微软自己的数据格式,比如Excel、SQL Server、Access等;还支持SAP、Oracle、MySQL、DB2等几乎能见到的所有类型的数据格式,总有一种适合你;

    不仅能能从本地获取数据,还能从网页抓取数据。选择从Web获取数据,只要在弹出的URL窗口中输入网址,网页上的数据就可直接抓取到,用这种方法我们可以实时抓取股票涨跌、外汇牌价等等交易数据,现在我们尝试一下,比如从中国银行网站上抓取外汇牌价信息,先输入网址:

    点击确定以后,出现预览窗口,

    点击编辑,进入查询编辑器,

    外汇数据抓取完成,剩下的就是数据整理的过程了,而且这些抓取的信息可以随时刷新来更新数据的。这只是抓取外汇牌价的第一页,其实抓取多个页面数据也是可以的,等后面介绍过M函数以后再专门写一篇。

    以后再也不需要手动从网页上复制数据再粘贴到表格中了。

    其实每个人接触到的数据格式很有限,熟悉自己的数据类型知道如何导入到PowerBI以后,下一步就是进行数据处理的过程,这才是我们真正需要掌握的核心技巧。

  • ?

    互联网运营:借用Excel、web scraper做数据爬虫

    齐寄琴

    展开

    不会写代码,借用第三方工具做数据抓取。抓取自己想要的、有用的数据!

    工具举例:Excel、谷歌浏览器、webscraper

    一、利用Excel

    利用excel抓取数据,以全国各地的PM2.5城市排名数据。

    抓取全国各地的空气质量排行榜

    1、打开Excel表格,选择数据一览下方的自网站,如下图所示:

    自网站

    2、打开自网站

    会有加载时间,可趁此打开所要抓取数据的网站

    3、打开pm2.5in,复制网址到Excel

    4、复制打开如下,注意地址

    1

    5、点击导入

    如出现任何问题,点“是”或者是“确定”

    6、看见“确定”就点

    7、数据抓取完成

    二、利用webscraper

    借用谷歌浏览器,插件webscraper。可以自己下载

    在下菜鸟一枚,实属不易。

    技术工作有点难,会的朋友留言交流交流吧!

  • ?

    Excel的万用法:Excel获取网页表格数据

    孙静曼

    展开

    现如今,很多小伙伴都知道Python可以用来爬取数据,但是若想要零基础学习Python爬虫嘛,还是需要些时间去进行Python的学习的。不过如果是对于些简单的网页表格数据爬取那就没必要用上Python了。

    那今天我就来教大家如何不使用Python去爬取网页数据。

    论Excel的万用方法之一 对的,就是Excel,Excel表格就可以帮助大家实现简单网页表格数据爬取功能。

    首先找到大家想要爬取的数据表格

    例如今天我们来爬取中国天气网上的广东天气预报吧~

    然后我们将网站的链接复制下来,打开Excel,找到菜单栏上的:数据 – 自网站

    接着将刚刚复制下来的链接粘贴到刚打开的:新建Web查询

    单击转到后打开网站,在此处预览中找到你所要导入的数据表格然后勾选左上角即可

    选中以后点击右下角的导入即可将选择的表格数据导入到Excel中

    数据导入中……

    接下来 你就可以看到你想要的数据一一呈现在Excel表格中啦~

    也有的小伙伴有疑问了,这么导出的数据都是固定的,网页数据若有更新岂不是还要重新导入?

    其实不用,Excel也自带数据刷新的。我们还是在菜单栏中找到:数据-全部刷新下的链接属性

    在链接属性处,选择刷新条件,刷新频率、时间等。然后Excel就会依照你所设定的刷新属性,进行数据自动更新了~

    以上,就是一个全自动抓取并刷新数据的Excel表格完成~~

    当然利用Excel表格来爬取数据有优点有缺点。优点是利用Excel本身自带功能进行数据抓取更新,简单方便,不用涉及编程等繁琐的操作。缺点就是Excel网页数据抓取 只能抓取表格数据,别的数据想要获取就有些困难了。

    所以要想获得更多元的网页数据不妨学习下Python,也是目前爬虫中最简单易学的了。安利一波~

    如果大家还想知道更多的实用小技巧的话 可以关注一下哦 以便下次更新及时通知 W=

  • ?

    一个方法快速提取网页上的表格,不用写代码哦

    念芹

    展开

    网页上有些数据是以表格的形式呈现的,比如一些股票数据(如图1-1),我们希望将这些数据保存到Excel表格中,怎样快速提取数据到表格中呢(如图1-2)?请仔细往下阅读,不需要一行又一行地复制,也不需要写代码哦,只需要正确使用Excel的导入功能即可。

    图1-1图1-2 部分数据与上图不同,是由于股票数据一直在更新,操作延时导致的。

    首先打开一个Excel表格,切换到“数据”菜单下,点击“自网站”,输入网址,最后点击“确定”或“转到”。

    图1-3

    等Excel链接网站数据成功后,就会看到一个导航器,点击左侧的某个Table,比如Table3,就可以在右侧“表视图”下看到相关的数据,也可以切换到“Web视图”下,查看该表的数据和位置。确认该Table正是自己需要的表格后,点击“加载”。

    图1-4图1-5

    现在,表格成型啦,这就是从网页上提取下来的表格,虽然有部分数据格式不是很完美,不过比手动一个一个复制是不是方便很多啦。现在,选中数据,调整它的对齐方式,调整涨跌幅和换手率为百分比,再使用“开始”菜单下的“套用表格格式”就可以得到文章开头的表格啦。不清楚地话,请留言吧。

    图1-6

    当网页上的数据本身就是一个表格时,这种方法就非常方便啦。如果网页上的数据不是表格,但是看起来排列整齐,那就可以使用“分列”的方法来提取数据,请参考往期推荐。

    往期推荐:将文本文件转换为Excel,帮你分析你的淘宝店数据

    来源:“解晴新生”,点击文章开头的“解晴新生”或“关注”可以查看更多相关文章哦。方便的话,请点赞支持下,谢谢!

  • ?

    学会使用PowerBI/Excel批量采集网页数据

    雷妙海

    展开

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

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

    下面是详细操作步骤:

    (一)分析网址结构

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

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

    http://sou.zhaopin/jobs/searchresult.ashx?jl=%e4%b8%8a%e6%b5%b7&sm=0&sg=fe782ca83bfa4b018d27de559d0a5db0&p=1http://sou.zhaopin/jobs/searchresult.ashx?jl=%e4%b8%8a%e6%b5%b7&sm=0&sg=fe782ca83bfa4b018d27de559d0a5db0&p=2http://sou.zhaopin/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/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/,尝试着抓取你感兴趣的网站数据吧。

excel网页数据抓取

所有视频需要登录后,才能观看

请先登录您的帐号,即可完整播放,如果您尚未注册帐号,请先点击注册。

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP