相信大家在日常划水,培训,工作中都遇到这样的问题,验证码怎么处理?也有一些面试官会这么问。
这里大致的说说,最常见的处理方式。
1、万能验证码:所谓的万能验证码也就是找开发固定一个验证码,比如abcd,12cd这种,每次打开固定不变,永远都是同一个验证码。或者说是,不管你输入什么验证码都是正确的,代码不对验证码进行校验。
2、注销验证码:这里呢就是直接找开发,经过协商,开发把验证码这一块代码注释掉。这里跟上述所说的其实类似。
3、cookie登录:了解过接口的都知道,登录账号密码过程中,其实是一次发起请求的过程,有发起请求对应的会有返回响应。那么cookie就在这里面了。我们可以通过循环里面的内容,绕过登录这个环节,直接进入登录后的界面。后续会出文。
4、最后一种,那当然就是本篇要介绍的,纯技术搞定。图像识别。本文介绍两种。第一种pytesseract+PIL,第二种就是一个库,我也是最近才发现的:ddddocr。我理解的就是懂得都懂orc。玩笑开完,先来简单看看例子。
pytesseract+PIL
这种需要用到工具Tesseract-OCR,下载地址:https://digi.bib.uni-mannheim.de/tesseract/
还需要配置环境变量:
第一,在系统变量path中添加:E:\picture_dev\Tesseract-OCR,这里是你安装的路径,需要根据自己的实际安装路径更改。
第二:系统变量path新建一个环境,并且将你下载解压的Tesseract-OCR路径写进去,如下图
![](https://i-blog.csdnimg.cn/blog_migrate/dc633927589efdfb0c8080e3b02438d7.png)
这两下载完了,接下来就是:
pip install Pillow
pip install pytesseract
下载工具对应所需要的包啦。下载完后试试如下两个命令:
![](https://i-blog.csdnimg.cn/blog_migrate/2414973a37535a4b7af4430557d8fb5c.png)