JAVA模拟点选验证码的简单尝试

作者: admin 分类: Scrapy 发布时间: 2020-05-12 11:20  阅读: 385 views

上一篇JAVA使用selenium破解极验验证码(下载背景图+识别缺口+移动轨迹处理)实验完之后,感觉滑动挺好模拟的,那么其他的验证码方式应该也容易吧。

所以,就像试试点选验证码。但是这个复杂度感觉陡然上升了。测试地址:https://www.geetest.com/demo/click-bind.html

过程

  1. 下载背景图片
  2. 利用tesseract识别图片上的字(难)
  3. 按照要求的点击顺序进行模拟

图片识别

ocr识别

这是之前的识别处理MAC系统中的JAVA中使用tess4j-4.4.1实现OCR识别的环境搭建(含tesseract安装配置)

已知它的识别度是比较低的,尤其是针对汉字。如果文字再出现一些扭转、变形等,那更是惨不忍睹。

如上图的tesseract4.4.1的识别结果如下(文字+坐标),都不知道啥玩意

识别结果:
三二曼」-裂燮幂

x:1-y:57
′〉叠三

x:183-y:61
叮!

x:316-y:69
衅'-r′

x:0-y:77
x:140-y:86
翼<

x:196-y:77
x:262-y:91
二二乒岖嘟′: ^l壹 一)
】士〉′ ~′ 汁 ′一
`翼单~羞〖 燧 尸
】
】_ 〉 亡
潜 ′`\"蹴〉
y′〉 墙卟…

x:0-y:0
`巢巢璜辜
醌

x:48-y:104
x:205-y:72
x:264-y:99
x:321-y:152
】_

x:55-y:269
x:262-y:277
x:291-y:261
菩

x:63-y:285
〕′瓜讹硼/ 叟

x:144-y:296
L川凹

x:44-y:331
愤硼聘删

x:126-y:317

用百度的OCR软件测试,发现也没有全部识别出来,如下图

百度ocr

用三方客户端软件迅捷转换器的识别,识别出了’酒’字

网上能查到的信息,基本意思是如果文字加了干扰项就比较难识别了。


如下,这种比较规整的图片

normal

tesseract未训练的字库识别如下,(有个字识别不出来)

识别结果:
杨 颓醛

x:19-y:9

其他如百度、三方软件能够正常识别。

所以,识别的难度还是在扭曲、变形的字这里。直接找训练好的字库也没有特别好的,所以还是直接用百度ai、腾讯云等收费产品吧。

以下是处理时用到的相关的链接,:

  • 百度OCR识别测试地址:https://ai.baidu.com/tech/ocr/general
  • python相关示例代码:https://blog.csdn.net/diegen8187/article/details/85265113
  • 利用深度学习破解点击验证码:https://zhuanlan.zhihu.com/p/34186397

   原创文章,转载请标明本文链接: JAVA模拟点选验证码的简单尝试

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

更多阅读