最新消息:因从typecho切换到wordpress, 由于转换导入问题,文章可能存在部分乱码或者排版问题,逐个排查修复中...

关于验证码识别

懒得分类 admin 1196浏览 0评论

在做一些自动化的事情,在访问特定的网页时,只有登录用户才能访问。直接在访问时带上保存的Cookie可以解决登录的问题,但是Cookie和Session都会有时间限制,到期后便无法使用。

所以还是要从源头上解决,处理好模拟用户登录并保存Cookie这一块逻辑。

而用户登录遇到的首个问题之一便是验证码问题了。

为了实现自动化登录,则必须对登录界面的验证码进行识别。简单总结一下识别的方法和一些工具。

介绍的第一个就是:笔者首次接触的一个叫次世代的软件,使用它可以对验证码图像进行一些基本处理,然后切割图像,建立字模文件。通过反复操作收集一定数量的字模达到一定的成功率后,最后就通过它的DLL接口进行调用了。

第二种是从网页或者图片或者Cookie中提取相应的线索。笔者就遇到过在访问验证码图片后返回的内容还是Cookie中就带有验证码字符的情况(这种彩蛋居然还是发生在某个知名的大站哦),这样直接不需要识别了。验证码对我们来说也是形同虚设。

第三种是网络上提供的打码平台接口。只需要将图像发送给接口,接口便会返回相应的字符。据说有的是采用人工打码的方式,也就是你将图像上传接口后,平台方会有另外的方式让它的下游对你的验证码进行识别。平台方从上赚取差价。不过我相信随着机器图像识别能力的提高,只有那些相对复杂的验证码才会需要人工了。

第四种是调用互联网大伽的AI识别,比如百度的OCR识别。不过根据测试,缺点也是明显的,毕竟人家是用来OCR识别相对有规律的文字信息为主的。不是给你做验证码识别的。比如做PDF文档文字的识别,汽车车牌的识别等等。而市面上的验证码,有的可能会带有干扰码干扰线。不排除AI也可以在针对性地优化算法后提高识别能力,但就目前的情况来看,用OCR来识别验证码,不是太靠谱。

第五种是自己建立自己的机器学习。和上面提到的第一种方式类似,利用现在的机器学习方面的技术。对机器喂以一定数量的样本进行训练。

第六种就是手机验证码这种。这个不太算是图像级别的验证码了。这个可以找一些接码平台。

以上就是我概括性地总结的一些关于验证码识别的方式。验证码和验证码识别就像是矛和盾一样。双方都在互相提高和进步。

转载请注明:Linc Hu » 关于验证码识别

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址