美文网首页程序员机器学习和人工智能入门机器学习与数据挖掘
Python 机器学习 识别验证码 来个“沃贝”自动签到(2:机

Python 机器学习 识别验证码 来个“沃贝”自动签到(2:机

作者: 奔IV程序猿 | 来源:发表于2017-10-26 14:44 被阅读0次

声明:沃贝签到网站已经在10月初归西, 但技术是不过时的哦。

前言叨B叨

上篇给大家唠了验证码识别的前半部分, 关注的人还挺多, 我来再多抽点时间赶紧把后半部分给放出.

终于整理好了第二部分:机器识别。GitHub上的代码不知道大家看了没,写的可能没那么规范,但是能用。处女座先将就下吧。回头我有空了重构一下,再加入些其他的签到。

言归正传,下面开始介绍图像识别部分: 即 !红框标注部分

安装工具包

安装Scikit-learn需要先准备以下包:

Python (>= 2.7 or >= 3.3),

NumPy (>= 1.8.2),

SciPy (>= 0.13.3).

执行以下命令安装必备工具包:

sudo pip install numpysudo pip install scipysudo pip install -U scikit-learn

提取字符特征

让安装包飞一会, 我们这会来先把字符特征提取出来.

大概说一下以下代码: dirs 是我们前面分好类的图片路径, 每个子文件夹是从0-9, 分别存放了n多处理过的单个数字图片. 这段代码就是把所有的二值化后的数字图片全部读取出来, 写入一个文本文件 train_data.txt, 就是些1和0. 打开文件,调整下编辑器宽度,可以看到喜人的画面:

好, 特征文件生成完毕, 接下来开始进入关键步骤.

样本训练

将上一步生成的特征值加载,

这里SVM的模型分类是用scikit-learn来实现的, 这里SVM的参数选择的是线性核"linear", 关于SVM和scikit-learn, 我还没有去研究, 这里只是参考别人的方法实现我识别验证码的目的. 如有这方面的高手路过, 还望不吝赐教.

运行train()之后, 会生出captach.pkl训练后的文件, 有了这玩意, 后面就可以直拿来识别验证码了.

识别

下面我们随便找一张验证码图片试试水

看,识别率杠杠滴

结语

哒哒~~~验证码识别部分就讲到这了, 大家有兴趣研究可以去GitHub下代码, 这里我再贴一下:

https://github.com/shark526/WowSign

后面我会再整理一下其他签到相关内容,比如说:

解决沃贝签到那个坑爹网站不能用密码登录.

怎么使用requests去登录网站签到.

定时启动脚本进行签到.

欢迎关注,欢迎交流.

参考链接:

相关文章

网友评论

    本文标题:Python 机器学习 识别验证码 来个“沃贝”自动签到(2:机

    本文链接:https://www.haomeiwen.com/subject/rfkkpxtx.html