tesseract 是一个 OCR(Optical Character Recognition,光学字符识别)引擎,能够识别图片中字符,利用这个可以用来解析一些简单的图片验证码。Github 地址:https://github.com/tesseract-ocr/tesseract,Windows 平台 v3.05.01 版本下载地址:http://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-setup-3.05.01.exe
一开始弄这个是因为学校网络要上网每次都要在网页验证,就想能不能写个程序自动验证免去手动验证过程。但这需要验证码,为了解决这个问题,就上网搜了一下,就看到有用 tesseract 的。有人用 Python 实现了一个工具:https://github.com/madmaze/pytesseract,拿来试了一下,Windows 上使用总是有问题,我就把目光转向了 tesseract 本身,这是它的使用说明:
最后就决定自己实现一个简单的接口
使用方法
对参数解释一下
具体思路
本地图片的,先判断该文件是否存在;网络图片的,下载到本地,默认的保存路径是 r"D:\img.jpg" (保存在哪不重要,只是暂存而已,解析完会自动删除的)
接下来是一些非必要参数
至于为什么只是数字,是因为英文的总是不能完全解析出来,修改了 -l 参数也是没用,使用其自带的 tessdata 也没用,中文的话解析出来的内容完全看不懂... (或许是我打开方式不对?)
效果
测试图片1
测试图片2
测试图片3
温馨提示:不能保证百分百正确,也不能保证百分百解析得出来。所以项目仅供参考!!!要有保证的话还是找打码平台吧
原文发布时间为:2017-06-08
本文作者:陈键冬
本文来自云栖社区合作伙伴“Python中文社区”,了解相关信息可以关注“Python中文社区”微信公众号