1.输入式验证码
这种验证码主要是通过用户输入图片中的字母、数字、汉字等进行验证。如下图

图1 图2
解决思路:这种是最简单的一种,只要识别出里面的内容,然后填入到输入框中即可。这种识别技术叫OCR,这里我们推荐使用Python的第三方库,tesserocr。对于没有什么背影影响的验证码如图2,直接通过这个库来识别就可以。但是对于有嘈杂的背景的验证码这种,直接识别识别率会很低,遇到这种我们就得需要先处理一下图片,先对图片进行灰度化,然后再进行二值化,再去识别,这样识别率会大大提高。
2.滑动式验证码
这种是将备选碎片直线滑动到正确的位置,如下图


解决思路:对于这种验证码就比较复杂一点,但也是有相应的办法。我们直接想到的就是模拟人去拖动验证码的行为,点击按钮

本文介绍了Python爬虫处理四种常见验证码的解决方案:1) 输入式验证码利用OCR技术,如tesserocr库,处理图片背景噪音;2) 滑动式验证码通过模拟用户行为,定位缺口并拖动;3) 文图/图标选择验证码借助第三方识别接口;4) 宫格验证码采用模板匹配法,预先保存并命名,匹配后模拟拖动。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



