excel爬虫其实已经存在很久,但很多人都不知道的,其中excel的 VBA代码就可以进行爬虫,但我觉得VBA代码相比python还是太难懂了!而本次也不是用VBA代码进行爬取,而是用excel的Power Query编辑器
,接下来让我们看看它是怎么进行爬取的。
实战演练
本文案例网址:
代码语言:javascript复制http://www.xinfadi.com.cn/marketanalysis/0/list/1.shtml
首页如下,我们要爬取其商品价格:
单页爬取
如果只爬取一页数据,除了复制粘贴,这里介绍另一种简单的方式:点击【数据
】导航栏→点击左边【自web
】→在【地址栏中输入网址
】→单击【橙色箭头
】→点击【导入
】。这样简单的数据就导入成功了。
以上操作虽然简单,但没有必要,一页数据复制粘贴其实已经可以搞定了,至于其是否有多页爬取的操作,小锋也不清楚,如果有知道的,希望能留言告知!
多页爬取
这里利用excel大杀器Power Query编辑器
,该编辑器的功能多种多样,本次用其来爬取网页数据,其不仅能爬取一页数据,还可以爬取多页数据。
第一步:①点击【数据
】→②点击【新建查询
】→③点击【从其他来源
】→④点击【自网站
】
第二步:在弹出的从web窗口中选择【高级
】,在url部分中拆解网址链接,其中第二部分对应的是页码,拆解完成之后点击确定。
第三步:在弹出的从导航器窗口中选择相应的【表格
】,在右边【表视图
】中查看数据,确定为所需要的数据之后,点击【转换数据
】。
这样一页数据就爬取成功了!
第四步:这一步只要是更改页码进行多页爬取,在主页中点击【高级编辑器】,在弹出的高级编辑器窗口中,在前面加入【(p as number) as table =>
】,并将URL中的页码“1”更改为【(Number.ToText(p))
】,然后点击完成!
第五步:在主页中依次点击【新建源
】→【其他源
】→【空查询
】
第六步:在【查询1
】页面中的输入框输入={1..10}
,这里你想爬取多少页就更改这个区间;输入完成后,按回车
!接着点击转换到表
!在弹出的窗口点击确定!
第七步:点击导航栏中的【添加列
】→选择【调用自定义函数
】→在弹出的窗口中,在功能查询中选择【已自定义的函数
】,然后点击确定!
第八步:调用自定义函数完成后,界面会出现两列数据,这时点击第二列右上角,里面会加载一些列名称,选择需要的然后点击确定!
第九步:查看数据并修改列名称,确认无误后,点击【关闭并上载
】→【关闭并上载
】。
爬取完成,十页一共200行数据:
结语
excel爬虫对静态网页且是表格类型的网页有奇效,其和python中pandas爬虫差不多,大家有兴趣可以多进行尝试!