精品投稿利用腾讯和百度的AI接口识别验证码

Posted 搜狗测试

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了精品投稿利用腾讯和百度的AI接口识别验证码相关的知识,希望对你有一定的参考价值。

前言

   众所周知,验证码在大部分的实际运用中是绕不开的问题,包括验证,爬虫,测试等等,然后解决验证码的方法也有不少,但大多数都会运用OCR。(这里说的验证码,是字符类型的验证码)


  目前要解决验证码,有以下几种方法:

  1、用OCR工具,比如tesseract-ocr;

  2、利用各类语言编写的识别库;

  3、想方法绕过验证码,这种测试中运用的多;


  前些天看见腾讯和百度都在已经搞自己的 AILAB(实际上他们很早就开始了,并且对开发者开放了不少接口,提供使用),AI LAB包含语音识别、文字识别、图像识别,人脸识别、内容审核、数据法分析等等,然后也看到文字识别可以用来识别(字符)验证码,就想着能不能用文字识别的接口来识别验证码,也称“在线OCR”。

  说着就动手实现了,刚好公司的系统后台在登录的时候有个验证码,于是就利用selenium框架写了一个自动登录系统后台的python脚本,腾讯和百度的AI方法都可以实现了。


腾讯AI的文字识别方法

首先是利用腾讯 AI 的文字识别方法

(腾讯 AI:https://ai.qq.com/),选择通用识别(https://ai.qq.com/product/ocr.shtml),查看技术文档(https://ai.qq.com/doc/ocrgeneralocr.shtml),下载SDK(https://ai.qq.com/doc/sdk.shtml)(SDK只支持Python2,需要支持Python3的下载文章后面链接的代码。),目前只支持php和Python。这里注意下,在使用接口之前,需要注册成为开发者,创建应用获得AppID、AppKey,后面会有用到。

  实现方法和思路是截取当前的验证码,然后将截取下来的验证码传给OCR接口识别,待返回识别结果后,就将结果保存,显示在当前窗口。以下是实现方法和具体步骤:

  1)、先访问后台网站,截取验证码;

  验证码需要截取保存,不要点击,也不要刷新,不然每次请求登录的验证码都会变化。

          

                   

  2)、截取验证码之后,传送给OCR接口;

【精品投稿】利用腾讯和百度的AI接口识别验证码

  

  3)、在输入框中输入验证码;

【精品投稿】利用腾讯和百度的AI接口识别验证码


  4)、这里需要用到的SDK,在后面的代码链接下载查看。

  利用腾讯 AI 的文字识别方法就是这样了,之后就是用百度 AI 的文字识别方法了  


百度AI的文字识别方法

利用百度 AI 的文字识别方法(百度 AI:https://ai.baidu.com/),选择通用文字识别(https://ai.baidu.com/tech/ocr/general),查看技术文档(https://ai.baidu.com/docs#/OCR-API/top),下载SDK(https://ai.baidu.com/sdk#ocr),支持的语言要比腾讯多一些,这里选择用Python实现。使用之前一样要申请成为开发者,创建应用获得AccessToken(APP_ID,API_KEY,SECRET_KEY)。

  实现方法和前面利用腾讯 AI 一样,截取和保存都是一样的,不一样的就是OCR接口传参和方法不一样,区别比较大。

  OCR验证码接口识别方法:



最后

以上就是利用腾讯和百度 AI 的文字识别在线OCR识别验证码的方法了,实现过程和方法不复杂,比本地安装一些OCR软件简单多了,而且识别率和准确率也比本地化的OCR要高不少

代码链接:https://share.weiyun.com/5SbeGfr

 (PS.注意腾讯 Ai 提供的SDK只支持Python2,l链接下的代码已修改为Python3实现。百度的SDK支持Python3,不需要修改。)


作者介绍:

陌路不归,5年互联网产品测试经验,对功能、自动化、性能测试比较擅长,有个人博客,不定期更新文章,分享测试技术。


以上是关于精品投稿利用腾讯和百度的AI接口识别验证码的主要内容,如果未能解决你的问题,请参考以下文章

通过百度AI识别简单的验证码

利用Burp Suite插件“captcha-killer”识别验证码

验证码识别爆破没有那么简单

利用云识别过简单验证码实例(源代码分享)

使用云函数 SCF 快速部署验证码识别接口

使用百度ocr接口识别验证码