ITPub博客

首页 > IT职业 > IT职场 > Python识别字母数字组合验证码

Python识别字母数字组合验证码

IT职场 作者:hahadelphi 时间:2021-09-11 09:46:57 0 删除 编辑

在爬虫过程中难免会遇到验证码,各种验证码似乎阻挡了爬虫的脚步。

因为本文实现的功能是在内网环境下完成的,所以没有代码介绍,也没有识别效果显示。

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识别字母数字组合验证码的方法,希望对大家有所帮助。更多Python学习指路:python基础教程

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2471/viewspace-2828264/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-09-01

  • 博文量
    78
  • 访问量
    8404