python网页数据抓取_小课堂:如何用Excel抓取网页数据

python网页数据抓取_小课堂:如何用Excel抓取网页数据_第1张图片

今日目标:

学习用Excel抓取网页数据

昨天,有个女学员提问:

python网页数据抓取_小课堂:如何用Excel抓取网页数据_第2张图片

大致意思是这样的:

1- 女,文科生,大三没什么课

2- 感觉Python是潮流,不学就落伍了

3- 想学Python,从哪里开始?

很明显,朋友圈的里的python广告看多了。

想学习数据爬取,何用python?用Excel就可以了。

Excel从2016以后的版本,就内置了强大的数据处理神器Power Query,可以直接在Excel里,实现数据爬取。

python网页数据抓取_小课堂:如何用Excel抓取网页数据_第3张图片

今天给大家介绍两种方法:

第1种方法,是方法1。

第2种方法,是方法2。

怎么样?厉害吧?

python网页数据抓取_小课堂:如何用Excel抓取网页数据_第4张图片

方法1

两种方法的区别,主要看网页的结构。

如果网页中的数据,使用的是table标签,那么直接导入web网页就可以了。

比如,我们经常在豆瓣上,看即将上映的电影列表,这个就是一个table标签的网页。

python网页数据抓取_小课堂:如何用Excel抓取网页数据_第5张图片

网页的地址是:https://movie.douban.com/coming

使用Excel抓取数据的步骤是这样的。

操作步骤

1- Excel导入web数据

在「数据」选项卡中,点击「自其它源」「自网站」。

python网页数据抓取_小课堂:如何用Excel抓取网页数据_第6张图片

2- 粘贴web网址

在弹出的对话框中,粘贴上面的网址,点击「确定」

python网页数据抓取_小课堂:如何用Excel抓取网页数据_第7张图片

3- 加载表格数据

这个时候,你会看到的就是Power  Query的界面啦。

在窗口左侧的列表中,选择table0,右侧就可以看到Power Query自动识别出来的表格数据了。

python网页数据抓取_小课堂:如何用Excel抓取网页数据_第8张图片

4- 加载数据到Excel

点击「加载」,就可以把网页数据抓取到表格中去了。

使用Power Query的好处是,如果网页中的数据更新了,在导入结果上,右键「刷新」就可以同步数据。

python网页数据抓取_小课堂:如何用Excel抓取网页数据_第9张图片

注意

这里说的是网页中包含table标签的数据。

什么意思呢?就是网页中的数据,本来就是一个表格结构,这个方法和你直接复制网页数据,粘贴到表格里,是一样的意思。

对于那些非table标签的网页数据,这个方法不好使。

怎么识别一个网页是不是table标签呢?很简单,选择任意一个数据,然后在网页中点击右键,选择「检查」。

python网页数据抓取_小课堂:如何用Excel抓取网页数据_第10张图片

然后你会看到网页的源代码,你不需要懂,只要看到当前高亮的代码中,包含以下任意的标签,就表示网页用了table标签,可以用这个方法。

如果没有的话,那就继续看方法2。

python网页数据抓取_小课堂:如何用Excel抓取网页数据_第11张图片

方法2

使用table标签保存数据,已经是非常古老的网页技术了。现在的网页大都使用div、span等格式更丰富、更灵活的标签,来呈现数据。

这种网页就不好直接导入了。

比如我常看的「知乎」,他们的网页里一个table都没有。

python网页数据抓取_小课堂:如何用Excel抓取网页数据_第12张图片

用方法1导入到Power query里,左侧没有table数据,就不好抓取了。

python网页数据抓取_小课堂:如何用Excel抓取网页数据_第13张图片

那怎么办呢?

python网页数据抓取_小课堂:如何用Excel抓取网页数据_第14张图片

这个时候就要直接抓取数据包了。

本质上,网页中的数据都会包打包成一个数据包,发送个网页后,网页再读取数据包进行渲染。

这个数据包常用的格式是JSON,那么我们只要把JSON数据包抓取下来,也可以实现网页数据抓取。

不管他,干就完事儿了。

「下方高能预警」,如果你看不懂,可以直接跳过看方法3。

操作步骤

我们以知乎搜索Excel问题为例。

1- 识别数据包

首先,在页面中点击右键,选择「检查」。

python网页数据抓取_小课堂:如何用Excel抓取网页数据_第15张图片

然后,右侧会出现网页调试窗口,然后点击「network」「xhr」,在这里面可以看到所有的数据传输记录。

python网页数据抓取_小课堂:如何用Excel抓取网页数据_第16张图片

尝试着在知乎中搜索「Excel」,就可以看到数据的传输了。

python网页数据抓取_小课堂:如何用Excel抓取网页数据_第17张图片

向下滚动页面,当右侧列表汇总看到了「search_v3?t=」时,抓住它,这个就是我们需要的数据包。

python网页数据抓取_小课堂:如何用Excel抓取网页数据_第18张图片

2- 复制数据包链接

然后在这个数据包上,点击右键选择「copy link address」复制数据包的链接。

python网页数据抓取_小课堂:如何用Excel抓取网页数据_第19张图片

3- 导入json数据

接下来就进入到了Excel操作界面,在「数据」选项卡中,点击「自其它源」「自网站」,粘贴数据包的链接。

python网页数据抓取_小课堂:如何用Excel抓取网页数据_第20张图片

点击确定后,就进入到了Power Query的界面。

python网页数据抓取_小课堂:如何用Excel抓取网页数据_第21张图片

数据包的结构,像是我们的「文件夹」一样,数据按照类别分别保存在不同的「子文件夹」中。

打开数据包「文件夹」的方式,就是在数据上,点击右键选择「深化」。

python网页数据抓取_小课堂:如何用Excel抓取网页数据_第22张图片

在数据上依次点击「深化」就可以找到我们的数据了。

python网页数据抓取_小课堂:如何用Excel抓取网页数据_第23张图片

4- 批量读取数据

最后,再写几个简单的函数,把「子文件」数据批量的读取出来。

在「主页」选项卡中,点击「高级编辑器」打开函数编辑窗口。

python网页数据抓取_小课堂:如何用Excel抓取网页数据_第24张图片

编写几个简单的函数,我们就完成了数据的抓取。

python网页数据抓取_小课堂:如何用Excel抓取网页数据_第25张图片

最终抓取的数据如下:

python网页数据抓取_小课堂:如何用Excel抓取网页数据_第26张图片

高级玩法

当然,如果你比较熟悉Power Query的话,可以在上面的基础上,再加入参数,可以根据表格中的「搜索词」,实时的搜索知乎文章,一键刷新统计结果。

python网页数据抓取_小课堂:如何用Excel抓取网页数据_第27张图片

方法3

专业的事情交给专业的工具来做。

Power Query是专业的数据整理插件,不是数据爬取软件,所以方法2,你看着可能会有些吃力。

在爬虫这个领域,还是要用专业软件,比如「后羿采集器」。点击几下按钮,就可以轻松完成数据抓取。。

操作步骤

打开「后羿采集器」,在「网址」栏中粘贴入知乎的搜索网址,如:

python网页数据抓取_小课堂:如何用Excel抓取网页数据_第28张图片

python网页数据抓取_小课堂:如何用Excel抓取网页数据_第29张图片

然后点击「智能采集」,接着后羿采集器会自动识别网页中的数据,等待识别完成。

python网页数据抓取_小课堂:如何用Excel抓取网页数据_第30张图片

识别完成后,点击「开始采集」,数据就开始爬取了。

python网页数据抓取_小课堂:如何用Excel抓取网页数据_第31张图片

爬取完成后,在弹出的对话框里,点击「导出」,数据就自动以表格的形式保存下来了。

python网页数据抓取_小课堂:如何用Excel抓取网页数据_第32张图片

总结

专业的事情,交给专业的工具来做。

1- 简单的表格类网页,使用Power Query抓取,举手之劳。

2- 复杂的网页,使用爬虫软件,也是点点按钮的事情。

关于Power Query和爬虫,我有两篇更为详细的文章,推荐给你,点击图片直达。

python网页数据抓取_小课堂:如何用Excel抓取网页数据_第33张图片

python网页数据抓取_小课堂:如何用Excel抓取网页数据_第34张图片

后台回复知乎爬虫,你会有意外收获哦!

考考你

python可以爬虫,但不是挖能的

Excel也可以爬虫,但是没有掌握高级的Power query技巧

最简单爬虫,还是使用爬虫软件

最后出一个小测试题吧!

我在国家统计局的网站中,找到了2010年的人口普查数据。

python网页数据抓取_小课堂:如何用Excel抓取网页数据_第35张图片

网址是:http://www.stats.gov.cn/tjsj/pcsj/rkpc/6rp/indexch.htm

这是一个典型的table类网页。请使用Power Query功能,把这个数据抓取到表格中。

做完了,可以微博@拉登Dony,来at我交个作业。

python网页数据抓取_小课堂:如何用Excel抓取网页数据_第36张图片

好了今晚就到这里,下课!

我是拉小登,一个会设计表格的Excel老师

python网页数据抓取_小课堂:如何用Excel抓取网页数据_第37张图片

= = 推荐文章 = =

【建议收藏】教你一个最最最最最最简单的爬虫方法

运营:99%的Excel使用者都不知道,Excel还可以做搜索引擎,太神奇了

你可能感兴趣的:(python网页数据抓取)