学习
实践
活动
专区
工具
TVP
写文章

爬虫不是Python的专利,Excel也可以!

爬虫不是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对象,到此就完成了爬虫的两个核心步骤。其他语言开发爬虫程序跟这个项目类似,但要复杂很多,但基本都是这两个核心步骤:模拟请求,解析数据。只不过在模拟请求、解析数据的过程中用到了很多技巧以及别人开发的库,本文只作为一个简单的示例来了解爬虫,更多的爬虫知识,可以到专业社区、论坛去学习。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171220G0EKK500?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

关注

腾讯云开发者公众号
10元无门槛代金券
洞察腾讯核心技术
剖析业界实践案例
腾讯云开发者公众号二维码

扫码关注腾讯云开发者

领取腾讯云代金券