百度api识别验证码登录

Posted Na_years

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了百度api识别验证码登录相关的知识,希望对你有一定的参考价值。

import time
from selenium import webdriver
from aip import AipOcr

def initial():
    """ 初始化连接 """
    APP_ID = '16611607'
    API_KEY = 'wAIXfXOUS8ztLa4FrK3rZex1'
    SECRET_KEY = '3b8nvjSGUZq0LPC18VVAizKYRBbny6Mq'
    return AipOcr(APP_ID, API_KEY, SECRET_KEY)
    
def get_file_content(filePath):
    """ 读取图片 """
    with open(filePath, 'rb') as f:
        return f.read()
        
def selenium_msg():
    driver = webdriver.Chrome()
    try:
        driver.get('https://pythonav.com/login/')
        time.sleep(1)

        # 输入用户密码
        driver.find_element_by_id('id_username').send_keys('python')
        time.sleep(1)
        driver.find_element_by_id('id_password').send_keys('dsb123')
        time.sleep(2)

        # 验证码识别
        file_path = 'b.png' 
        image = driver.find_element_by_id('image_code')  #找到验证码 
        image.screenshot(file_path)   #保存验证码图片

        # 百度ai相关
        client = initial()
        image = get_file_content(file_path)   #读取图片文件
        res1 = client.basicGeneral(image)  # 调用通用文字识别, 图片参数为本地图片
        # res2 = client.basicAccurate(image)  # 调用通用文字识别(高精度版)
        a = ''
        for text in res1['words_result']:
            a += text['words']
        time.sleep(2)
        driver.find_element_by_id('id_code').send_keys(a)
        time.sleep(2)
        driver.find_element_by_class_name('btn-primary').click()  #登录按钮进行点击
    finally:
        time.sleep(5)
        driver.quit()
if __name__ == '__main__':
    selenium_msg()

以上是关于百度api识别验证码登录的主要内容,如果未能解决你的问题,请参考以下文章

百度 验证码识别API 使用

selenium实现登录百度(自动识别简单验证码)

百度能否识别seleniumm 问答

5行Python实现验证码识别,太稳了

python接口自动化怎么串联登录接口与图形验证码借口

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