爬虫不是Python的专利,用Excel也可以做爬虫
文末1元红包获取源文件
用Excel实现爬虫
01
为什么会用到爬虫?
对深度Excel用户来说,如果用到了爬虫,那么很大可能的需求是获取网上一些的数据,或是公开的数据,或是其他系统的数据,因为数据库权限、SaaS平台等原因不能直接导出数据,需要借助爬虫来实现。爬虫有两个核心的步骤:一、请求到服务器返回的html代码(混杂有html、css、JavaScript),二、从html中解析出来需要的数据。当然这是两个很复杂的过程,很多网站都有防爬的措施,需要模拟请求,解析数据也是千奇百怪,需要很深入的分析,但千里之行,始于足下,这都是我们做数据的需要经历的。本文只会让你初步了解爬虫,不会让你成为爬虫专家,体验过整个过程以后,你会迷上爬虫,会寻找新的、更好的解决方案。
02
需要有哪些基础知识?
爬虫需要一定的基础知识:1.基本的VBA知识;2.理解Excel各种对象属性、方式、事件;3.能够使用VBA的循环、判断及vba数组;4.懂得VBA的调试技巧;5.有一定的网页知识(html、css)。如果还不了解以上知识,或者只是听说过没有尝试过,也不要紧,请查阅TongDog工作室之前文章《35本Excel电子书免费下载!涵盖基础操作、公式、图表、VBA!》,阅读有关VBA知识后,完全可以得到以上要求。
03
一睹为快,先看代码!
简短的几行代码就完成了一个爬虫,是不是觉得很简单?Copyright函数主要实现了请求数据,可以看到函数通过创建WinHttp.WinHttpRequest.5.1对象,然后请求:http://2.tongdog.sinaapp.com/charts/api/dataout.php 这个网页的数据,可以把这个地址复制到浏览器地址栏打开看一下,可以看到以下页面:
(网页显示)
(html代码)
GetData()完成了一个数据解析的过程,通过创建htmlfile对象,来提取html中的数据,并保存到数组中,然后再把数组赋值给单元格区域range对象,到此就完成了爬虫的两个核心步骤。其他语言开发爬虫程序跟这个项目类似,但要复杂很多,但基本都是这两个核心步骤:模拟请求,解析数据。只不过在模拟请求、解析数据的过程中用到了很多技巧以及别人开发的库,本文只作为一个简单的示例来了解爬虫,更多的爬虫知识,可以到专业社区、论坛去学习。
领取专属 10元无门槛券
私享最新 技术干货