今天带大家回顾一下”云采集爬虫“这几年的发展史
先说一个事:"云采集"这个概念,是我们八爪鱼于2013年提出的,先于国内外。
2013年,八爪鱼从13年创业开始,就自创了云采集技术,这个我们可以在八爪鱼的版本更新记录里面找到痕迹。只是由于当初创业,对于IP的意识不充分,也没钱没精力去申请相关知识产权,以致于现在很多竞品公司都在吹他们有云采集技术,但很多公司其实都没搞清楚真正的云采集技术。
2013-12-06版本更新记录
2014-05-01版本更新记录
我们今天要来谈的就是云采集是如何颠覆整个爬虫界的,当然,因为我们八爪鱼是当事人,所以笔者可以带着大家回顾近几年云采集爬虫的发展史。
云采集是在什么背景下诞生的?
2006年8月9日,Google首席执行官埃里克·施密特(Eric Schmidt)在搜索引擎大会(SES San Jose 2006)首次提出“云计算”(Cloud Computing)的概念。Google“云端计算”源于Google工程师克里斯托弗·比希利亚所做的“Google 101”项目。
直到08年,中国IT界才开始在谈云计算,笔者作为一名07年计算机专业毕业生,正好赶上这一波热潮,但说实话,那时候都是概念,没有人见到真正的产品,所以都没搞清楚到底是什么东西。顶多就听说Google 的Google Charts,Google Words等。当时没明白这些产品有什么用,不就是网页版的word,excel嘛,还没Microsoft的好用。
但是多年工作之后,才知道,Microsoft word,excel,只能用于windows的机子,你想在苹果电脑上用,就得费老大劲了。但是网页版就不同,它是跨平台的,你用习惯了,你在哪都是一样用,而且可以在云端保存资料。更关健的是,原来帮助我们提高工作效率或组织管理的工作,不再单单依靠软件,而是云端服务。
随着云计算的诞生,业内也诞生了下面三种层次的服务
基础设施级服务(IaaS),
平台级服务(PaaS),
软件级服务(SaaS)。
我们可以把SaaS简单理解为在云端提供标准化产品的服务模式。由于其标准化,所以无论1个企业在用,还是100个企业使用,都是一个开发成本。这对产品在某个场景下的通用性要求非常高,但也极大的提升了产品在市面上的竞争力。企业采用SaaS模式在效果上与企业自建信息系统基本没有区别,但节省了大量资金,从而大幅度降低了企业信息化的门槛与风险。
许多SaaS企业都是提供按月按年的收费模式,这有别于之前软件以项目化的形式,深受企业主喜欢,所以在接下来的十年中,也演变为一种主流的企业服务形式。
现在市面上有许多优秀的Saas企业,国际知名的类似于CRM鼻祖Salesforce, 我们国内CRM领域的明道,比如文档领域的石墨,比如表单领域的金数据等等,都是在saas领域做得特别好的企业。
八爪鱼正是在云计算与SaaS潮流的背景之下,创新使用了云采集技术,并提供SaaS的运营模式。用户只需在客户端上传采集规则,即可通过调用云端分布式服务式进行采集,每一台云端的服务器均会按照采集规则进行采集。所以八爪鱼团队就给这种采集模式,取了个名叫”云采集“
为什么会诞生”云采集“
在八爪鱼出来创业的时候,市面上是有很成熟很强大的竞争对手。但他们是以传统软件运营商的模式在运作,主要是卖授权码的形式,用户想要在电脑上运行,就必须购买他的授权码。就像我们早期用Word 2003、2007时,经常需要去网上搜索破解码一样。那时的竞争对手如日中天,但它也仅仅只是一个客户端软件,也只能在本地电脑进行采集。
八爪鱼创始人刘宝强keven,有多年的外企和海外工作经验,曾经也是某国际金融巨头公司数据采集方向的研发工程师,他一心想要做出一款通用化的网页采集产品来取代公司编写的众多采集代码。他很清楚各种采集技术的优势与劣势,问题与瓶颈。
Keven当时也知道竞争对手的强大,那时候的他,其实不敢想像自已能做出一款更牛B的采集产品,因为对手实在太强大了,采集界无人不识。但他知道,超越竞争对手的,往往不是跟随策略,而是应该颠覆,采用与他们完用不一样的思路。
Keven分析,传统的网络请求获取数据的方式,走的还是http post ,get请求,这确实是当时进行网页采集的主流模式,而且这种形式效率特别高,但这种模式复杂程度也非常高,不是一般人操作配置得了,能理解这一套理论的,大部分都是具备开发背景的人。
他知道在大公司里面,大部分做数据收集工作的人,都不是计算机开发人员背景,所以他给自已的采集产品定位,要做一款普通人会用的采集产品,通过界面的定位,拖拽,即可进行规则的配置。经过小半年的钻研,各项难关均被他突破,实现了所见即所得的采集工作流配置模式。
但问题也随之而来,由于是通过浏览器加载网页然后再获取数据的方式,这样竞品或许一个请求就可获取到的数据,而由于八爪鱼需要加载整个网页,这可能得涉及上百个请求,这样在采集速度上,就显得慢了。(大家可以用httpwatch看一下浏览器打开一个网页得涉及多少个请求)
解决了易用性的问题后产生了速度问题?
那怎么解决?
如果有多台机子在云端同时采,甚至对规则里面的URL列表进行拆分,让云端的服务器分布式同时进行采集,那就可以提升N倍以上的速度。这条路是可行的,但是这条路又带来另外一个问题。
解决了速度问题后产生了成本问题?
那怎么解决?
keven判断,如果租用10台云服务器,通过共享经济的概念,把成本平摊,其实每个用户每个月仅需小几百块钱的成本。相对于数据的价值,是远远大于这个投入的,应该会有用户愿意付费使用。
而且成本问题应该不是大问题,根据摩尔定律理论,硬件成本只会越来越低。事实确实如此,包括后期,八爪鱼通过与主流的云服务厂商合作,有效地控制了整个云服务器成本,帮助用户将这块的成本降低。
基于此,在2013年Q4,在数据采集领域,八爪鱼先于国内外龙头企业,创新性地打造了一种采集模式——云采集。
云采集后面的发展史
其实云采集就是这么简单的东西,就是通过对云端采集服务器的控制,为每台服务器分配采集任务,通过指令控制其采集。但八爪鱼由于是创新的云采集技术,也是用户量非常大的云采集平台,所以云采集这件事,八爪鱼走了好远好长的一段路。所以我们一直坚称,只有八爪鱼的云采集,才是真正的云采集。
1突破多项技术难关
八爪鱼在5年的运营过程,逐渐突破云采集各项难题,这里面的许多难题,在没有大数据面前,其实都是不会出现的。我举几个例子:
- 可以采,导不出
有一些项目,自吹自已拥有云采集技术,但是实际试用的时候,他们就漏洞百出。比如我们可以控制100台服务器采集数据,但如果只有一个数据存储支持导出数据,那将会造成导出数据比采集慢100倍的困境。你只能眼见数据在库里而无法动弹。
- 可以采,但是错乱
有一些人以为,有服务器在云端进行采集,就叫云采集。但却不知道这里面成百上千台服务器同时采集的时候,他背后需要大数据存储解决方案的支撑。才能让采集到的数据一条不漏地存放在数据库里,并且是有序地存放,在后期方便检索,查询,导出。
- 无法动态伸缩配置
由于采集的网页数据状态不一,云采集是需要动态分配,并且做好许多事前工作。有时候一些网站有防采集策略,在采集之前,能否判断出对方网站对你的一些措施与判断,或者在采集过程中动态调整服务器运行策略,这也是对云采集解决方案的考验。
2持续性的提供稳定的采集与导出服务
八爪鱼现在在全球拥有超过5000台以上的服务器,现在每天采集与导出的数据,都是以T计算服务于全世界各语言各领域的采集用户,对于企业级产品来讲,除了技术外,能否提供稳定的运维是一大关健。
八爪鱼有多个运维后台,随时监测整个服务器集群每个采集服务器的状况,在出现状况的时候,通过灵活多开服务器,调配服务器,让客户的采集生产环境与数据,保持相对的稳定。
这样庞大的云服务器采集集群,是任何一个竞争对手所不能比拟的,并且在这个庞大的集群面前,八爪鱼依然保持稳定的采集与导出服务。
3其它资质
八爪鱼在中国大数据业内,连续三年在数据收集领域被评为第一,这也足以证明八爪鱼在数据采集这一领域的长期积累与贡献。
最后一段介绍大家可以理解为硬广啊哈哈,我们知道云采集是如何诞生,是在什么条件下诞生,还有主要的技术难点,还有一路过来我们突破了哪一些问题。回顾这段历史,是想向大家表明,我们八爪鱼一直在致力于提供稳定的云采集服务,这条路还有很长一段路要走,我们压力也在不断增大,我们也在不断优化,这个过程有点坎坷,还需要我们八爪鱼的用户对我们多多支持,我们也会尽最大努力来予以回馈。
一起加油!
服务提示