不用Python,Excel轻松抓取豆瓣

公益中国援助定点白癜风医院 http://m.39.net/pf/a_6169140.html

之前写了篇Python批量爬取网页数据的文章,后来发现Excel随着版本的迭代,已经完全支持多页面抓取数据了,不用撸代码,点点鼠标就能抓取数据,让我们一起看看吧~

网页解析

在抓取数据之前,先对网页进行一下解析,下图中是豆瓣TOP初始页面,拉到最底部可以发现一共有10个页面,每个页面25部电影,一共部电影。

我们依次获取前三个页面的网址可以发现它们之间的规律,每个网址除了中间的数字,其它地方都是一样的,数字从0/25/50,以25递增(每个页面的电影数),一共10个页面。

发现规律之后,我们将10个页面之间的数字存储在一张表中备用,下图A列所示,留存备用。

数据抓取

Excel及其以上版本内嵌了从Web批量抓取的功能(“数据”—“新建查询”—“从其它源”—“从Web”),案例演示的版本未达到,所以我下载了一个PowerBIDesktop(Excel延伸产品),免费安装免费使用,效果同Excel,不用担心不会使用,会用Excel就会操作。

打开PowerBIDesktop或者Excel,点击—(Excel及以上版本在“数据”—“新建查询”—“从其它源”—“从Web”)

界面设置:

点击高级之后,URL部分,点击“添加部件”,一共三个框,将豆瓣TOP首页网址以数字0为分隔,分成三段,分别放置于三个框内,如下图所示:

可以发现,在URL预览框内会自动显示完整的网址,点击确定,完成设置。

导航器界面

之后程序会进入抓取数据状态,稍等会儿,跳出“导航器”界面,左侧有一张表“表1”,勾选之后,右侧展示表明细数据,可以发现就是豆瓣TOP的首页面的25部电影;

一共有抓取了9个字段,包括序列号、电影名、评分、评价人次、电影简介等信息,有部分列是不需要的,我们进入PowerQuery界面进行删除,点击底部的“转换数据”进入PowerQuery界面。

PowerQuery数据编辑

进入PowerQuery界面之后,只保留序号、评分、电影名、评价人次四列,其余列皆做删除处理,删除之后,分别对四列数据进行重命名。动图展示如下:

设置自定义函数

依次点击—,在弹出的界面中,在字母“let”前输入以下代码:

(pasnumber)astable=

接着将第三行代码中的数字替换为,如下图所示:

(Number.ToText(p))

完成以上两步的设置后,点击“确定”,可以发现原先的表1变成了函数样式,fx表1,其中p是函数参数,控制页码,如输入25,即可获得TOP第二个页码电影列表的数据。

批量调用,批量抓取数据

接着点击—,选择第一步留存备用的Excel表格,导入之后,点击—,下拉功能查询选择,点击确定。

界面会弹出一个警告框,点击,勾选,点击之后,程序进入页面抓取阶段。

由于抓取页面较多,程序需要运行一段时间,十几秒之后,数据抓取完毕,一共十个页面,存储在10张表中,点击字段,勾选,TOP信息皆展示在表中。

此时数据还在PowerQuery中,点击—将数据加载到Excel当中,完成数据爬取。

小结

不会撸代码的我们,曾对数据爬取望而生畏,随着ExcelBI工具的丰富,数据抓取也将变得简单化,快去尝试下吧~

如果你没有安装高版本的Excel,不妨试着安装下PowerBIDesktop,十分方便,不用注册,打开就可以使用,应用商店Microsoftstore搜PowerBIDesktop下载即可。




转载请注明:http://www.aierlanlan.com/grrz/612.html