[转] 有人值守还是无人值守?rpa两者皆可!

现如今,无论采用何种技术方法,企业都在努力改善其自身的客户体验,以提高客户的留存率。而机器人流程自动化(RPA)是一种不仅将员工从繁琐和冗长的工作任务中解放出来,并且能够保证高效客户关系的出色工具。 [Read More]

[转] 如何使用Js和Puppeteer绕过滑块验证

从滑块验证到滑块拼图验证

概述 垃圾邮件对于站长来说是个大问题,但是,为了拦截垃圾邮件而设置的验证给用户带来的糟糕体验同样令人发疯。 验证很糟,但或许我们可以直面它,而事实上现在也有很多种验证方式来确保当前操作是人为的有效操作,但每一种都很糟。 近年来,自动化脚本变得越来越聪明,也越来越难从它们手中保护网站。凭借大量的业余时间和足够的资源,人们几乎可以绕过任何验证:人们编写插件来阻止Puppeteer检测,或者绕过reCAPTCHA1(甚至有公司专门提供绕过验证的服务)而我们只是通过 Puppeteer2控制无法被检测识别到的Headless版Chrome3。 reCAPTCHA 是谷歌推出的一款验证接口,用于验证当前操作是否是正常的。 ↩ Puppeteer (又称“木偶”)是 Google 推出的一个 Node 库,提供了一个高级 API 控制 Headless Chrome 或普通的 Chrome 。 ↩ Headless Chrome 是一种在无需显示 headless 的环境下运行 Chrome 浏览器的方式。从本质上来说,就是不用 Chrome 浏览器来运行 Chrome 的功能!它将 Chromium 和 Blink 渲染引擎提供的所有现代 Web 平台的功能都带入了命令行。 ↩ [Read More]

C#中的面向对象编程问题

以DateTime数据类型的学习为例

在学习C#中的面向对象编程时,我想到可以用C#中的DateTime数据类型为学习对象,来加深对类(对象) 这个概念的理解。 我们点开DateTime数据类型的定义: 第一眼可能看的有点迷糊,但是我们根据各行最前面的定义修饰符可以将其分为四类:静态属性,静态方法,实例属性,实例方法。分别对应着static type Name、static type Name()、type Name、type Name()。而实例方法又包含构造函数。如下所示。 [Read More]

如何理解python代码【a, b = b, a+b】

如何理解下面这串python代码和它的运行结果呢? a, b = 0, 1 a, b = b, a+b 这串代码的运行结果:a=1,b=1。为了进一步理解在python内部发生了什么,引入dis库分析该代码的汇编语句。 import dis def func(): a, b = 0, 1 a, b = b, a+b dis.dis(func) 运行结果如下: ``` 9 0 LOAD_CONST 3 ((0, 1)) 2 UNPACK_SEQUENCE 2 4 STORE_FAST 0 (a) 6 STORE_FAST 1 (b) [Read More]