《python识别验证码》
来源:互联网 发布:java定时器 任务超时 编辑:程序博客网 时间:2024/04/30 09:36
上一篇博文《模拟登陆》中遇到了一个问题:由于登陆需要输入验证码,而没能模拟登陆成功,今天刚好借着开题有点时间,因此就研究了下这个问题,百度了下,发现这个问题还是挺复杂的,但是,对于只含有“数字”的验证码,还是挺容易的。
程序需要PIL库和pytesser库支持。
关于PIL可以直接用官网下载。
关于pytesser可以到这里下载:到时候我提供给一个连接。
关于pytesser的使用:直接加压缩后,放在程序的相同目录下。
对一般数字型的验证码的识别实现代码如下:
#encoding=utf-8#Author:wuranghao#Date :2015年12月17日20:29:21#HomePage :http://write.blog.csdn.net/postlist#email:wuranghao@foxmail.com#function:get verifyfrom pytesser import *import Image#第一步:打开图像im=Image.open("example_3.jpg")#第二步:把彩色图像转化为灰度图像imgry=im.convert('L')#第三步:把图像中的噪声去除掉这里的图像比较简单,直接阈值化就行了。我们把大于阈值threshold的像素置为1,其他的置为0。#对此,先生成一张查找表,映射过程让库函数帮我们做。threshold=140table=[]for i in range(256): if i<threshold: table.append(0) else: table.append(1)##映射out=imgry.point(table,'1')##第四步:把图片中的字符转化为文本,采用pytesser中的image_to_string函数text=image_to_string(out)print text
上面的程序验证类似简单的检验码是没有问题的。
但是,是没法识别如下的验证码的:
更复杂的图片就更加无法识别了,类似12306网站上面的图片验证码就更复杂了。
测试代码和图片资源可以从这里下载:https://github.com/wojiushimogui/getverify
1 0
- python 识别验证码
- python 验证码识别
- python验证码识别
- python验证码识别
- 《python识别验证码》
- python 验证码识别
- python 识别验证码
- Python验证码识别
- Python 验证码识别
- python 识别验证码
- python验证码识别
- python 验证码识别
- python 验证码识别
- Python 识别验证码
- python识别验证码
- [python]python验证码识别
- Python验证码识别模块
- python怎样识别验证码
- opencv笔记 5.形态学滤波
- python反射机制
- 基础控件之UILabel、UIButton、UITextField、UIAlertView、 UIImageView
- linux 下core文件的设置
- ARM仿真器总结
- 《python识别验证码》
- 避免App沦为“僵尸”的12个秘诀
- Elasticsearch in java 范例:自动补齐功能(completion suggester)
- Python导入自带和外部的包
- 安卓学习记录-java-day3
- iftop ---Linux网络流量监控工具
- Linear Regression with One Variable
- 友盟分享
- python编程之Selenium测试