回复“书籍”即可获赠Python从入门到进阶共10本电子书
今
日
鸡
汤
疏影横斜水清浅,暗香浮动月黄昏。
**导读:**目前,许多网站采取各种各样的措施来反爬虫,其中一个措施便是使用验证码。随着技术的发展,验证码的花样越来越多。验证码最初是几个数字组合的简单的图形验证码,后来加入了英文字母和混淆曲线。有的网站还可能看到中文字符的验证码,这使得识别越发困难。
使用验证码可以防止应用或者网站被恶意注册、攻击,对于网站、APP而言,大量的无效注册、重复注册甚至是恶意攻击很令人头痛。使用验证码能够很大程度上减少这些恶意操作。验证码变得越来越复杂,爬虫的工作也变得越发艰难。有时候我们必须通过验证码的验证才能够访问页面(如图1所示)。
图1 验证码界面
目前主流的 4 种验证码为输入式验证码、滑动式验证码、宫格式验证码和点击式的图文验证,下面我们来分别讲解它们的解决思路。最后,如果你的时间不是很紧张,并且又想快速的提高,最重要的是不怕吃苦,建议你可以联系维:762459510 ,那个真的很不错,很多人进步都很快,需要你不怕吃苦哦!大家可以去添加上看一下~
4种验证码的解决思路
01 输入式验证码
这种验证码主要是通过用户输入图片中的字母、数字、汉字等进行验证,如图2所示。
图2 输入式验证码
解决思路:这是最简单的一种验证码,只要识别出里面的内容,然后填入输入框中即可。这种识别技术叫OCR,这里推荐使用 Python 的第三方库 tesserocr。tesserocr 与 pytesseract 是 Python 的一个 OCR 识别库,但其实是对 Tesseract 做的一层 Python API 封装,pytesseract 是 Google 的 Tesseract-OCR 引擎包装器;所以它们的核心是 Tesseract。对于没有什么背景影响的验证码,直接通过这个库来识别就可以。但是对于有嘈杂的背景的验证码,直接识别的识别率会很低,遇到这种验证码需要先对图片进行灰度化,然后再进行二值化,再去识别,这样识别率会大大提高。
02 滑动式验证码
这种是将备选碎片直线滑动到正确的位置,如图3所示。