TA的每日心情 | 无聊 5 天前 |
---|
签到天数: 1050 天 连续签到: 1 天 [LV.10]测试总司令
|
前言 我破解的登录验证码类型是数学公式的这种,即
.......是不是看起来比较简单,但是Tesseract对这种图片的识别率也很低,后期要提升识别率的话,我觉得一是要对图片进行降噪和锐化等处理,二是要对Tesseract预先训练,训练的工具我推荐jTessBoxEditor,大家有兴趣的可以了解一下。
1 安装Tesseract
1.1 下载Tesseract。地址为:Windows Installer made with MinGW-w64,下载完直接安装即可,安装完成后配置一下环境变量。编辑一下系统变量里的path,添加如下环境变量。
- C:\Program Files(x86)\Tesseract-OCR
复制代码 安装完成后,在cmd命令行窗口输入
出现如下内容证明安装成功。
1.2 安装pytesseract
2 识别代码 2.1 识别逻辑。首先使用selenium到浏览器找到验证码标签,然后截图保存下来,再用tesseract去识别这张图片。如果识别失败,再用selenium点击一下验证码图片,重新生成一张验证码,再重复之前的识别逻辑。如果识别成功,使用eval计算出算式的数值,填入后点击登录按钮。
2.2 代码
执行结果如下:
其中比较坑的一点就是,windows系统显示有缩放比例。可以在桌面右键-显示设置-缩放与布局中看到。如果缩放比例是150%的话,那么截图部分,每项参数都要*1.5,否则截不到想要的验证码。
|
|