主页 > 网络编程 > 使用Python和Tesseract来识别图形验证码(3)

使用Python和Tesseract来识别图形验证码(3)

这份成绩单,咋看之下,有些朋友可能觉得很不好看。但是,请不要太悲观,要想想投入产出比,大多数情况下,除了固定的模式化代码外,我们只需要编写寥寥几行二值化的代码就可以收获输出了啊,这意味着在测试时,程序自动化就可以搞了啊:不求百分之一百,只求十里有一发。即使只有30%的识别率,连续识别5个图片,获得其中一个准确识别的概率也达到了86%,无非多浪费一些Web请求而已。

因为Image库支持从内存中加载图片,所以与requests库的结合也是非常的方便,直接通过HTTP请求下载下来,将内容丢给Image就可以了:

import requests,StringIO r =requests.get(imgurl) imgbuf = StringIO.StringIO(r.content) img =Image.open(imgbuf)

是不是很简单很愉快?

六、后记

通过以上的例子和代码,大家可以初探tesseract的能力。实际上tesseract支持学习,通过样本训练,可以大幅提高它的识别准确率,当然这个过程就有点复杂了,也不符合本文追求敏捷的宗旨。经过多年的技术对抗,传统的图片验证码已经显得过时了,但仍有很多企业网站在大量使用,希望本文能够给大家一些启发和帮助。

说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!