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 相关文章推荐
Python request设置HTTPS代理代码解析
Feb 12 Python
python中scikit-learn机器代码实例
Aug 05 Python
Python日期时间模块datetime详解与Python 日期时间的比较,计算实例代码
Sep 14 Python
Pandas过滤dataframe中包含特定字符串的数据方法
Nov 07 Python
Python 仅获取响应头, 不获取实体的实例
Aug 21 Python
详解Python绘图Turtle库
Oct 12 Python
wxPython实现绘图小例子
Nov 19 Python
Python中Subprocess的不同函数解析
Dec 10 Python
Python实现ATM系统
Feb 17 Python
python GUI库图形界面开发之PyQt5结合Qt Designer创建信号与槽的详细方法与实例
Mar 08 Python
Python数据清洗工具之Numpy的基本操作
Apr 22 Python
python opencv人脸识别考勤系统的完整源码
Apr 26 Python
利用Python网络爬虫爬取各大音乐评论的代码
用Python制作灯光秀短视频的思路详解
python实现socket简单通信的示例代码
使用Selenium实现微博爬虫(预登录、展开全文、翻页)
python用字节处理文件实例讲解
Apr 13 #Python
Python中相见恨晚的技巧
Apr 13 #Python
利用python做表格数据处理
You might like
德生1994机评
2021/03/02 无线电
ThinkPHP3.1新特性之命名范围的使用
2014/06/19 PHP
PHP通过GD库实现验证码功能示例
2019/02/23 PHP
使两个iframe的高度与内容自适应,且相等
2006/11/20 Javascript
javascript中的location用法简单介绍
2007/03/07 Javascript
JS对URL字符串进行编码/解码分析
2008/10/25 Javascript
ASP.NET jQuery 实例11 通过使用jQuery validation插件简单实现用户登录页面验证功能
2012/02/03 Javascript
javascript中节点的最近的相关节点访问方法
2013/03/20 Javascript
js左右弹性滚动对联广告代码分享
2014/02/19 Javascript
javascript图片滑动效果实现
2021/01/28 Javascript
jQuery调用WebMethod(PageMethod) NET2.0的方法
2016/04/15 Javascript
基于JS实现Android,iOS一个手势动画效果
2016/04/27 Javascript
动态加载js、css的简单实现代码
2016/05/26 Javascript
vueJs实现DOM加载完之后自动下拉到底部的实例代码
2018/08/31 Javascript
Koa 中的错误处理解析
2019/04/09 Javascript
vue项目中引入Sass实例方法
2019/08/27 Javascript
前端vue-cli项目中使用img图片和background背景图的几种方法
2019/11/13 Javascript
解决vue+ element ui 表单验证有值但验证失败问题
2020/01/16 Javascript
JS如何实现手机端输入验证码效果
2020/05/13 Javascript
jQuery实现可以计算进制转换的计算器
2020/10/19 jQuery
vant 解决tab切换插件标题样式自定义的问题
2020/11/13 Javascript
[01:19:33]DOTA2-DPC中国联赛 正赛 iG vs VG BO3 第一场 2月2日
2021/03/11 DOTA
Python+django实现简单的文件上传
2016/08/17 Python
手机使用python操作图片文件(pydroid3)过程详解
2019/09/25 Python
Python Tensor FLow简单使用方法实例详解
2020/01/14 Python
python适合做数据挖掘吗
2020/06/16 Python
美国性感女装网站:bebe
2017/03/04 全球购物
解除施工合同协议书
2014/10/17 职场文书
委托证明范本
2014/11/25 职场文书
接收函格式
2015/01/30 职场文书
财务会计岗位职责
2015/02/03 职场文书
初中思品教学反思
2016/02/20 职场文书
MySQL系列之十 MySQL事务隔离实现并发控制
2021/07/02 MySQL
不同品牌、不同型号对讲机如何互相通联
2022/02/18 无线电
星际争霸:毕姥爷vs解冻03
2022/04/01 星际争霸
使用Python获取字典键对应值的方法
2022/04/26 Python