十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
小编给大家分享一下Python如何识别字母数字组合验证码,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
目前创新互联公司已为1000多家的企业提供了网站建设、域名、网站空间、网站托管、企业网站设计、清丰网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
在爬虫过程中难免会遇到验证码,各种验证码似乎阻挡了爬虫的脚步。
因为本文实现的功能是在内网环境下完成的,所以没有代码介绍,也没有识别效果显示。
1、编码和转换样本图像。
2、得到一个能够反映图像特征的code,然后保存所有这些样本图像的code。
3、图片转换code的方法可以选择hash进行转换。
图片转换code的方法我选择的hash转换过程如下:
缩放:图片缩放8*8。
求平均值:计算灰度图中所有像素的平均值。
比较:像素值大于平均值1,反之0,总共64位。
生成hash:将上述步骤生成的1和0按顺序组合成图片的指纹(hash)。顺序不固定。但比较时必须有相同的顺序。
在获得hash值后,将同一数字对于图片的hash值存在于txt文件中,在实际使用时,对预测图像进行上述相同的预处理操作,出4张图片,然后计算出4张预测图像的hash值,将测试图像的hash值与TXT文件中的hash进行比较,计算出汉明距离,即两个64位的hash值有多大不同,不同位数越少,图片越相似。
在获得测试图像与每个样本图像hash值的汉明距离后,进行统计,平均取预测值最大的样本图像标签作为预测值。识别速度也不错,平均只需要0.3秒就可以完成一次识别。
这种识别方法操作简单,对简单的字母数字组合验证码非常有效,但对图像预处理提出了更高的要求,不具有泛化性。不同的验证码每次都需要单独编辑规则。
看完了这篇文章,相信你对“Python如何识别字母数字组合验证码”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!