使用gocr进行简单的验证码自动识别

所谓简单的验证码,就是由一般的字体直接转成的图片,内容只包括了字母、数字甚至是纯数字,同时没有进行任何噪点、叠加、扭曲等特殊处理的验证码。

虽然说现在的验证码生成工艺已经很成熟,但是目前网上的绝大多数的验证码都是简单验证码的,有的时候,我想用程序自动做点查询的事情,然后通过邮件或者飞信发送给自己让自己知道一下,这样就需要对其中的验证码进行自动破解了。例如,有时候发宅急送的快递,想每隔一段时间到宅急送官网查询一下订单状态。

宅急送查询

这不,就遭遇了验证码了,像这种纯数字的验证码,用程序来自动识别,实在是太简单了,我们就拿这个“1943”为例子吧,这是一张gif的图片

1943

我们使用gocr只要一个命令就解决了,这里我们需要指定-C参数,让程序只用数字进行匹配,要不然这就匹配成“lg43”了。

gocr -i 1943.gif -C 0-9

要在linux上面安装gocr也比较方便的,执行这些命令就OK了,执行完成了之后gocr会被安装在/usr/local/bin/gocr

wget http://www-e.uni-magdeburg.de/jschulen/ocr/gocr-0.49.tar.gz
tar xvf gocr-0.49.tar.gz
cd gocr-0.49
./configure
make; make install

纯数字的验证码,这样就能简单解决了,成功率非常高,当然更加复杂的,那么要寻找其他办法了,这里有一篇参考文章,待我日后再做调研了。

http://hooopo.iteye.com/blog/993538

This entry was posted in 杂七杂八 and tagged , . Bookmark the permalink.

2 Responses to 使用gocr进行简单的验证码自动识别

  1. Anonymous says:

    请问怎么提取zjs的信息,好像加密了。获取到验证码后怎么办呢。

    • york_gu says:

      宅急送的信息没有加密,你可以用firebug看提交表单之后的网络交互过程,然后用代码去模拟这个过程就OK了。你还可以留下你的联系方式,以方便我们进行沟通。

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


Verify Code   If you cannot see the CheckCode image,please refresh the page again!