伴随公司RPA产品不断拓展,客户的需求也呈现多样化的趋势。特别是在证券类客户中,会有这样一个需求,就是网页信息抓取工作(例如劵商自动给客户发最新的资讯信息邮件,而这些工作通常都是在额外的工作时间完成的)。
用传统的编程方式对这个问题的解决会有一个难点——对网页元素定位和获取比较困难,往往页面有一点点修改,就需要对项目构架进行调整,加大了部分的维护成本。
而我们面对这些难点,我们使用了“爬虫”的部分思路和构架,取得了意向不到的成果。
脑补知识
网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取网页信息的程序或者脚本。爬虫技术有非常多的公司使用,如:Google、百度、去哪儿等。嗯,举个我们最熟悉的:“人肉”。我们惊讶它的无孔不入,那么这些信息从哪来的呢?我告诉你,就是通过爬虫从各个网站爬取的。
爬虫可以快速的抓取网站上的大量数据,因此可能会对目标网站造成一定的流量压力。同时爬虫会被区分为“好”爬虫和“坏”爬虫。(网站所有者来决定孰好孰坏,通常搜索引擎是“好”爬虫,竞争对手的爬虫都是“坏”爬虫)。网站和爬虫之间互有攻防,就出现了这样的概念:爬虫、反爬虫、反反爬虫。这个概念可能有点绕,我们可以这样理解:就是你想要,我不给并加了把锁;然后,我就是想要,配把钥匙开锁……
这个对抗可以一直循环下去,图形越来越大,而图形越大代表着双方付出的代价越高(涉及的内容有:间隔时间、Cookies、user-agent、IP、文字图片化、假链接、假数据、误伤率等)。
让这个循环达到平衡不是因为双方顿悟,而是因为彼此的边际贡献趋近于负数。说简单点儿就是:追求完美的成果,代价一定是对应“完美”的价格。适可而止是一门艺术。
现阶段,爬虫技术在RPA并没有大规模应用。但伴随技术和客户需求的发展,个人感觉,RPA未来会介入更多基础之上的工作,而爬虫技术也将会大展空间,毕竟RPA的“此爬虫”,是有益的“爬虫”。
这里要讲一下RPA的初衷:
传统软件更多是对于整个工作整体进行设计的,例如数据库操作,报表操作,数据的计算整等但这些软件都需要人去操作,有时候数据要一项一项的整理,计算要一个一个的。RPA相对于其他软件来说区别最大的是“机器人化”和“拟人化”,他可以是单独的软件,也可以结合其他的软件,他目前可代替人的基础操作(简单的、重复的),而在未来,我想想RPA也将可以代替基础之上的操作,那么RPA和爬虫技术的结合,也有很大的期待性。
RPA和爬虫技术更多结合的期待性探讨
1、从目前来看,RPA的更多的是从事基础工作,从网页数据的数据更多是“拟人化的”,因而数据量相对不多,而且频率相对较低,反爬虫大概率不会进行封锁,因为误伤率是反爬虫非常在意的指标。
2、从未来来设想的话,如果RPA仅仅是模拟人的操作做的足够“拟人”的话,执行特定操作的话,反爬虫是很难通过模式识别的手段,精准区分人的操作和RPA的操作的,从这一点来说RPA在爬虫上的应用就更加可期了。
3、从实际的情况来看,RPA的本质是代替人的操作,是帮助信息做有价值的传递(例如上文中提到的例子,企业的信息由证券公司做免费的传播,这对企业是有价值的,网站没有必要对证券公司的正常需求进行反爬虫封锁)。
4、从个人感觉来看,爬虫初创的时候,总是夹杂“人肉”的性质,(抱歉个人感觉很多时候是这个功能夹杂着贬义,很多爬虫有“人肉”的“坏”用途)RPA要做有益信息传递,更多功能是检索和有价值的信息传播,"反爬虫"为什么要阻止呢?并且是RPA正常的“拟人”化常规信息收集工作,从这一点来看,爬虫技术未来在RPA上的应用将大有可为!