验证码识别之中国移动话费查询

本文记录了作者首次进行验证码识别的经历,通过实现验证码识别来解决无法直接使用接口查询中国移动电话号码余额的问题。代码虽糙,但作者认为验证码识别颇有乐趣,并计划深入研究,期待未来能应用于更多场景。

最近公司一个客户要求查询其手里的一批电话号的余额。

而目前我们公司的移动接口已被收回,所以只能去移动网站抓取了。

由于公司觉得自己开发没必要,钱太少,所以所说就花了5000大洋给外包出去做了。

今天听说已开发完了,刚好我最近又准备辞职正在交接,又没事做。所以就看看是否也去做个试试。

所以就在网上查了一下关于验证码的相关文档

依葫芦画瓢,终于将这个功能搞定。

中国移动网站的验证码很简单。


这也是我第一次做验证码识别。

现将代码记录下来,说不定以后用得到,由于只是练手所以代码写得非常之烂,勿拍 偷笑

只是练习,所以特征码找得也不是很准哈,不过就现在这样识别率也能达95%。

通过这次发现验证码识别还是比较好玩的,接下来继续研究下,说不定以后能赚点小酒钱呢害羞


<?php
/**
 * 10086验证码识别
 * 
 * 注:验证码 周边有边框,且最后一位可能会挨着边线
 * 
 * 
 */


class Valite {
	// 传说中的特征码
	var $char = array(
		'A'=>'00000011100000110011111000110011001100011001100110001100110010000111111111000001111111110000000000011000',
		'A '=>'0000001110000011001111100011001100110001100110011000110011001000011111111100000111111111000',
		'B'=>'11111111110001111111111000011000011000011000000110001100000011000111000011100001111111100000011111100000',
		'B '=>'1111111111000111111111100001100001100001100000011000110000001100011100001110000111111110000',
		'C'=>'0011111100000011111111000011100001110001100000011000110000001100011000000110000110000110000',
		'D'=>'00111111000000111111110000111000011100011000000110001100000011000011000011000011111111110001111111111000',
		'D '=>'0011111100000011111111000011100001110001100000011000110000001100001100001100001111111111000',
		'E'=>'0011111100000011111111000011101101110001100110011000110011001100001111100110000011110110000',
		'F'=>'110000000000
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值