python自动化调用百度api解决验证码


Posted in Python onApril 13, 2021

自动化测试验证码登陆的三种解决方式

1,找开发关闭验证码
2,找开发设置万能验证码
3,使用第三方接口识别验证?不能100%识别,比自己搭建的ocr识别的识别率高很多

具体讲的就是第三种-调用百度云识别验证码:

from selenium import webdriver
from PIL import Image
import base64
import requests
import time

def baidu_api(Verification_code, AK, SK):#Verification_code验证码路径,AK,SK百度云的身份识别码
    chrome.get_screenshot_as_file('reg.png')  # 获取登陆页面的图片
    code_img = chrome.find_element_by_xpath(Verification_code)  # 找到验证码图片的位置
    img = Image.open('reg.png')# 保存图片
    c_img = img.crop((code_img.location['x'], code_img.location['y'], code_img.location['x'] + code_img.size['width'],
                      code_img.location['y'] + code_img.size['height']))  # 截取验证码图片
    c_img.save('reg_code.png')
    host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&' \
            'client_id='+AK+'&' \
            'client_secret='+ SK
    response = requests.get(host)
    token = response.json()['access_token']
    request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/accurate_basic"
    f = open('reg_code.png', 'rb')# 二进制方式打开图片文件
    img = base64.b64encode(f.read())
    params = {"image": img}
    access_token = token
    request_url = request_url + "?access_token=" + access_token
    headers = {'content-type': 'application/x-www-form-urlencoded'}
    response = requests.post(request_url, data=params, headers=headers)
    dict_a = response.json()['words_result']
    if response:
        dict_a = eval(str(dict_a)[1:-1])#数据类型的格式转换
        dict_a = dict(dict_a)#转化为字典类型
        dict_a = dict_a['words']
        dict_a = "".join(dict_a.split())  # 使用一个空字符串合成列表内容生成新的字符串
        dict_a = dict_a.lower()#把大写字母改为小写字母
        return dict_a
    else:
        chrome.refresh()

chrome = webdriver.Chrome()#浏览器实例化
chrome.maximize_window()#最大化浏览器
chrome.get('自己登陆的网址')
test = baidu_api(Verification_code, AK, SK)#返回识别的验证码
chrome = webdriver.Chrome()
print(test)#验证码

百度云AK,SK的获取:
进入:百度云
点击立即使用——进行登陆——实名认证。

python自动化调用百度api解决验证码

按着自己的需求选着,免费的基本上就够用了

python自动化调用百度api解决验证码

这就是自己的AK和SK

然后写入在代码里给AK和SK就行了

到此这篇关于python自动化调用百度api解决验证码的文章就介绍到这了,更多相关python调用百度api验证码内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
kNN算法python实现和简单数字识别的方法
Nov 18 Python
用Python解析XML的几种常见方法的介绍
Apr 09 Python
对比Python中__getattr__和 __getattribute__获取属性的用法
Jun 21 Python
Python在线运行代码助手
Jul 15 Python
windows及linux环境下永久修改pip镜像源的方法
Nov 28 Python
python 如何快速找出两个电子表中数据的差异
May 26 Python
python中文分词教程之前向最大正向匹配算法详解
Nov 02 Python
Python第三方库face_recognition在windows上的安装过程
May 03 Python
Appium+python自动化怎么查看程序所占端口号和IP
Jun 14 Python
实例详解Python装饰器与闭包
Jul 29 Python
TensorFlow命名空间和TensorBoard图节点实例
Jan 23 Python
基于matplotlib中ion()和ioff()的使用详解
Jun 16 Python
利用Python网络爬虫爬取各大音乐评论的代码
用Python制作灯光秀短视频的思路详解
python实现socket简单通信的示例代码
使用Selenium实现微博爬虫(预登录、展开全文、翻页)
python用字节处理文件实例讲解
Apr 13 #Python
Python中相见恨晚的技巧
Apr 13 #Python
利用python做表格数据处理
You might like
晶体管单管来复再生式收音机
2021/03/02 无线电
php异常处理技术,顶级异常处理器
2012/06/13 PHP
PHP基于socket实现客户端和服务端通讯功能
2017/07/13 PHP
laravel框架使用阿里云短信发送消息操作示例
2020/02/15 PHP
zTree插件之多选下拉菜单实例代码
2013/11/06 Javascript
jquery ajax应用中iframe自适应高度问题解决方法
2014/04/12 Javascript
将HTML格式的String转化为HTMLElement的实现方法
2014/08/07 Javascript
jQuery的Each比JS原生for循环性能慢很多的原因
2016/07/05 Javascript
jQuery 利用ztree实现树形表格的实例代码
2017/09/27 jQuery
分析JS中this引发的bug
2017/12/12 Javascript
详解在Node.js中发起HTTP请求的5种方法
2019/01/10 Javascript
vue中使用微信公众号js-sdk踩坑记录
2019/03/29 Javascript
用node.js写一个jenkins发版脚本
2019/05/21 Javascript
Vue切换div显示隐藏,多选,单选代码解析
2020/07/14 Javascript
Openlayers显示瓦片网格信息的方法
2020/09/28 Javascript
[02:23]1个至宝=115个英雄特效 最“绿”至宝拉比克“魔导师密钥”登场
2018/12/29 DOTA
Python3编程实现获取阿里云ECS实例及监控的方法
2017/08/18 Python
Python3.6笔记之将程序运行结果输出到文件的方法
2018/04/22 Python
opencv python 图像去噪的实现方法
2018/08/31 Python
python实现K近邻回归,采用等权重和不等权重的方法
2019/01/23 Python
20行python代码实现人脸识别
2019/05/05 Python
python和mysql交互操作实例详解【基于pymysql库】
2019/06/04 Python
Python如何执行精确的浮点数运算
2020/07/31 Python
python跨文件使用全局变量的实现
2020/11/17 Python
用python-webdriver实现自动填表的示例代码
2021/01/13 Python
goodhealth官方海外旗舰店:新西兰国民营养师
2017/12/15 全球购物
在线学习西班牙语、法语或其他语言:Babbel.com
2018/02/07 全球购物
Ruby如何创建一个线程
2013/03/10 面试题
会计电算化大学生职业规划书
2014/02/05 职场文书
法律系毕业生求职信
2014/05/28 职场文书
企业贷款委托书格式
2014/09/12 职场文书
就业协议书
2014/09/12 职场文书
计划生育证明格式范本
2014/09/12 职场文书
文员试用期转正自我鉴定
2014/09/14 职场文书
保管员岗位职责
2015/02/14 职场文书
mysql连接查询中and与where的区别浅析
2021/07/01 MySQL