侯体宗的博客
  • 首页
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

python自动化实现登录获取图片验证码功能

Python  /  管理员 发布于 7年前   260

主要记录一下:图片验证码

1.获取登录界面的图片

2.获取验证码位置

3.在登录页面截取验证码保存

4.调用百度api识别(目前准确率较高的识别图片api)

本次登录的系统页面,可以看到图片验证码的位置

from selenium import webdriverimport timefrom PIL import Imagebase_url = '***********'browser = webdriver.Chrome()browser.maximize_window()browser.implicitly_wait(10)browser.get(base_url)# (1)登录页面截图browser.save_screenshot("D:/pic.png")#可以修改保存地址# (2)基操browser.find_element_by_name("username").send_keys("gxx")browser.find_element_by_name("password").send_keys("123456")time.sleep(2)# (3)获取图片验证码坐标code_ele = browser.find_element_by_xpath("//*[@id='app']/div/div[1]/form/div[3]/div/div/div[2]/div/img")print("验证码的坐标为:", code_element.location)#控制台查看{'x': 1086, 'y': 368}print("验证码的大小为:", code_element.size)# 图片大小{'height': 40, 'width': 110}# (4)图片4个点的坐标位置left = code_ele.location['x']#x点的坐标top = code_ele.location['y']#y点的坐标right = code_ele.size['width']+left#上面右边点的坐标down = code_ele.size['height']+top#下面右边点的坐标image = Image.open('D:/pic.png')# (4)将图片验证码截取code_image = image.crop((left, top, right, height))code_image.save('D:/pic1.png')#截取的验证码图片保存为新的文件

上面我们已经把图片保存到本地

这就是我们截取的验证码

接下来要调用 百度ocr识别

链接: https://ai.baidu.com/docs#/

然后可以选择通用文字识别或者 高精度版本,这个 看个人选择,不过验证码识别还是选择高精度 版本(也不一定识别的出来 大家还是佛吧,测试的时候让开发把验证码去掉嘻嘻)
自己去申请一个百度云账号,然后开通文字识别服务…就酱
新建一个py文件

#百度ocr提供了模板,我们直接复制就ok#下载通用文字识别的python sdk,一定要放在你写的代码的文件夹下面from aip import AipOcr from os import pathdef baiduOCR(picfile,outfile):#picfile:图片文件名 outfile:输出文件  filename = path.basename(picfile)#图片名称  #百度提供  """ 你的 APPID AK SK """  APP_ID = ''#这是你产品服务的appid  API_KEY = ''#这是你产品服务的appkey  SECRET_KEY = ''#这是你产品服务的secretkey  client = AipOcr(APP_ID, API_KEY, SECRET_KEY)  i = open(picfile, 'rb')  img = i.read()  print("正在识别图片:\t" + filename)  """ 调用通用文字识别(高精度版) """  message = client.basicAccurate(img)  print("识别成功!")  i.close()  with open(outfile, 'a+') as fo:#这边是写进.txt文件    fo.writelines("*" * 60 + '\n')#搞点花里胡哨的做区分    fo.writelines("识别图片:\t" + filename + "\n" * 2)    fo.writelines("文本内容:\n")    # 输出文本内容    for text in message.get('words_result'):#识别的内容       fo.writelines(text.get('words') + '\n')    fo.writelines('\n' * 2)  print("文本导出成功!")  print()if __name__ == '__main__' :  outfile = 'D:/export1.txt'#保存的文件  baiduOCR('D:/pic1.png', outfile)  print('图片文本提取结束!文本输出结果位于 %s 文件中。' % outfile)

这样就识别出来 了,这个能识别正确我也是惊讶了
毕竟之前好多次都 识别的不准确
好!这样 验证码就识别出来 惹,然后把识别的内容输进框子里,点击登录就ok

总结

以上所述是小编给大家介绍的python自动化实现登录获取图片验证码功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!


  • 上一条:
    Python超越函数积分运算以及绘图实现代码
    下一条:
    python通过链接抓取网站详解
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在python语言中Flask框架的学习及简单功能示例(0个评论)
    • 在Python语言中实现GUI全屏倒计时代码示例(0个评论)
    • Python + zipfile库实现zip文件解压自动化脚本示例(0个评论)
    • python爬虫BeautifulSoup快速抓取网站图片(1个评论)
    • vscode 配置 python3开发环境的方法(0个评论)
    • 近期文章
    • 在go语言中实现字符串可逆性压缩及解压缩功能(0个评论)
    • 使用go + gin + jwt + qrcode实现网站生成登录二维码在app中扫码登录功能(0个评论)
    • 在windows10中升级go版本至1.24后LiteIDE的Ctrl+左击无法跳转问题解决方案(0个评论)
    • 智能合约Solidity学习CryptoZombie第四课:僵尸作战系统(0个评论)
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2018-04
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2022-01
    • 2023-07
    • 2023-10
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客