RPA和爬虫有什么区别?
与RPA key wizard有什么区别?

RPA和scripter有什么区别?
RPA和传统开发有什么区别?
RPA和自动化测试软件有什么区别?
过程自动化行业的大多数人应该都被问过这些问题,但似乎没有系统的答案。
对于很多普通用户来说,很难完全理解这么多不同名词的区别。我们对大多数主流RPA产品的标准化功能和实现这些功能的非RPA技术实施方案进行了简单的比较:
RPA魅力——“多才多艺”
通过以上对比可以发现,主流成熟RPA产品的能力都有一套完整的企业应用自动化方案,在技术上可以完美实现几乎所有企业办公会议中遇到的所有应用场景。RPA的魅力就在于单一产品有如此丰富可靠的能力。如果产品在可用性和开发效率方面进行打磨,完全可以实现早期RPA概念中一个非常重要的“快速交付”能力。
比较非RPA技术的实施路径:
在很多情况下,RPA产品的一个能力点是用来比较某个技术实现路径的。例如:
网页阅读
当简单地去网页捕捉数据并且目标网站几乎没有反爬行措施时,网络爬虫似乎是更高效的解决方案。
网络爬虫最基本的实现原理:
也就是说,笼子分为两步:
步骤1:获取指定URL页面的所有内容

第二步:分析这些内容。
以上基本流程基本没有实用价值,需要添加一个批量循环的URL调度器,去目标网站无限制的收集和抓取站点内容:
也就是说,笼子分为三步:
步骤1:轮询URL调度程序
第二步:获取指定URL页面的所有内容。
第三步:分析这些内容。
为了高效,很多爬虫“不要脸”无节制,会给目标网站带来沉重的压力。这也是很多网站不喜欢被抓取的原因之一。为什么说爬行者无拘无束?因为爬虫反正会把这个URL下所有有用没用的东西都拿走,然后在本地做数据分析留下想要的数据,把99.999%没用的信息丢弃。
那么RPA是怎么做到的呢?
RPA和人的处理逻辑是一样的。打开一个网页,看看是否有RPA正在寻找的内容。如果有,就把它取下来。如果没有,继续找,或者直接说“找不到”。
其次,RPA对网页的技术实现需要打开网页进行UI呈现,RPA没有无头模式。技术为什么这么设计?这个设计的目的是为了作业最大限度的模拟人的行为。人们需要网站满载后才知道下一步点击哪里,而不是事先分析网站的HTML代码,找出那个按钮对应的HREF在哪里。
第三,RPA对目标网站的压力不会比真人大太多。不像爬虫,伪装N个Header头,通过多线程发起N个Request请求。简单总结一下,RPA不暴力。可能比人快,但是在游戏规则范围内合理合法的快。
所以常规的网站反爬对RPA基本无效,除了登录阶段的验证码也会带来一点麻烦。RPA在网站后台做的东西,看起来和普通人的作业差不多。如果网站把RPA的所有行为都包含在防攀爬限制里,那么这个网站的误伤率一定高得可怕,会屏蔽很多普通人的行为。
有人可能会说,Python+Selenium也可以实现类似人类的访问模式。嗯,Selenium确实有网页自动化的能力,但是网页元素识别提取后的集成系统的可靠性可能还是不如主流的RPA产品可靠。那么为什么我们总说RPA工具的元素拾取器是RPA工具的灵魂功能呢?

一个国产RPA的网页自动化实现就是直接换硒。
RPA产品-“像个人一样”
随着RPA逐渐形成清晰的产品形态,产品所打造的各种机器人管理、行为审计监控、机器人资源池、灵活扩展、任务触发调度机制、第三方账号密码管理、统一数据规范等等,让RPA更像一个真正的数字化员工,而不仅仅是一个软件。
至于各种技术拼凑的脚本方案,开发效率低,管理维护困难,可靠性差。
我们可能无法逐一解释开篇段落中的许多问题。我们仅以RPA和网络爬虫的区别为例,希望能把这个问题说清楚。


