使用python库解决登录的验证码识别-图片验证码

这篇具有很好参考价值的文章主要介绍了使用python库解决登录的验证码识别-图片验证码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言:

在UI自动化测试和爬虫测试中,验证码是个比较头疼的问题,包括:图片验证码,滑块验证码,等一些常见的验证码场景。

识别验证码的python 库有很多,用起来也并不简单,这里推荐一个简单实用的识别验证码的库 ddddocr (带带弟弟ocr)库。

今天先用一个图片验证码示例来演示下:

准备:

1.安装库ddddocr

2.安装库pillow

3.以一个带验证码登录的网站为示例:https://xqctk.jtys.sz.gov.cn/

开始编码:

1代码如下:

 1 import time
 2 from ddddocr import DdddOcr
 3 from selenium import webdriver
 4 from selenium.webdriver.common.by import By
 5 from PIL import Image  # 需安装 pillow
 6 
 7 path = 'https://xqctk.jtys.sz.gov.cn/'
 8 
 9 
10 def get_picture_code(locator):
11     pic_save_path = 'D://html.png'
12     cron_path = 'D://code.png'
13     browser.save_screenshot(pic_save_path)  # 保存为图片
14     location = browser.find_element(By.XPATH, locator)  # 获取需要识别的元素对象
15     size = location.size  # 获取需要识别的元素尺寸
16     position = (int(location.location['x']), int(location.location['y']), int(location.location['x'] + size['width']), int(location.location['y'] + size['height']))
17     Image.open(pic_save_path).crop(box=position).save(cron_path)  # crop进行裁剪
18     with open(cron_path, 'rb') as f:
19         img_bytes = f.read()
20         res = DdddOcr().classification(img_bytes)
21     return res
22 
23 
24 browser = webdriver.Chrome()  # 打开浏览器
25 browser.maximize_window()  # 浏览器最大化
26 browser.get(path)  # 打开网页
27 time.sleep(5)
28 pic_code = get_picture_code("//td[@id='incrementGetValidCodeImg']//img")
29 browser.find_element(By.XPATH, "//input[@id='incrementValidCode']").send_keys(pic_code)
30 time.sleep(5)
31 browser.quit()

运行结果:

使用python库解决登录的验证码识别-图片验证码

 文章来源地址https://www.toymoban.com/news/detail-410349.html

到了这里,关于使用python库解决登录的验证码识别-图片验证码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python | 傻瓜式一键搭建图片验证码识别接口

    上一篇文章写了自己搭建环境、处理图片、识别验证码等具体操作(上一篇文章地址)。对于没有经验的小伙伴来说,还是比较麻烦的,而且如果训练集处理的不好,识别率会非常低,所以上一篇文章可以作为学习参考,使用的话,我个人觉得本篇文章比较适合入手。 首先感

    2024年02月10日
    浏览(62)
  • python 识别图片验证码/滑块验证码准确率极高的 ddddocr 库

    验证码的种类有很多,它是常用的一种反爬手段,包括:图片验证码,滑块验证码,等一些常见的验证码场景。 识别验证码的python 库有很多,用起来也并不简单,这里推荐一个简单实用的识别验证码的库 ddddocr (带带弟弟ocr)库. python 版本要求小于等于python3.9 版本 pip 安装 下

    2023年04月08日
    浏览(30)
  • python 识别图片验证码/滑块验证码准确率极高的 ddddorc 库

    前言 验证码的种类有很多,它是常用的一种反爬手段,包括:图片验证码,滑块验证码,等一些常见的验证码场景。识别验证码的python 库有很多,用起来也并不简单,这里推荐一个简单实用的识别验证码的库 ddddocr (带带弟弟ocr)库. 环境准备 python 版本要求小于等于python3.9 版

    2024年02月03日
    浏览(32)
  • 微博模拟登陆的方法 + 图灵图像图片验证码识别平台 识别验证码(97%正确率)Python + Selenium+Chrome

    最近遇到一个问题,需要频繁切换账号登陆微博,但是需要识别微博的验证码,比较麻烦。而且因为需要24h不间断的操作,所以没法使用人工打码平台,而且打码平台也比较贵,延迟又高。最后找到了一个可以机器识别出来的,延迟只有0.1s,而且准确率超级高。 首先看一下

    2024年02月04日
    浏览(61)
  • Selenium 初步使用之自动登录(包含识别验证码),超级详细

    初次开始使用Selenium,于是开始用登录作为联手项目,是一个真实的登录界面,包含验证码(验证码是难点,获取与识别),以下会讲的很详细,我怕我下次又忘记了 我采用Selenium + python + 百度云OCR,安装等教程自行百度,我就不多说了 这段代码主要是利用selenium打开网站,

    2024年02月02日
    浏览(28)
  • 使用第三方打码平台图鉴识别滑动验证码模拟登录

    图鉴网页地址: http://www.ttshitu.com/ 登录后充值一个提分 把这个python脚本复制保存到一个python文件中去 识别流程 首先你要先确定验证码的类型,然后选择类型对应的编号 页面分析 我们就用邮箱登录为例 我们点击登录后会有一个滑动验证码的验证,这就是我们主要的问题,下面我

    2024年02月06日
    浏览(43)
  • 一个完整Python实战项目:selenium识别验证码实现自动登录,自动操作浏览器获取某东数据

    最近都没啥时间,很久没更新了。 今天分享一下,如何用selenium识别验证码,实现自动登录以及获取数据。 目标:某东 话不多说直接开始 环境 Python 3.10 Pycharm 模块使用 import random import time from selenium import webdriver import pyautogui import base64 import ddddocr import csv win + R 输入cmd 输入安

    2024年02月04日
    浏览(33)
  • Python解决微软Microsoft的登录机器人验证

    前言 本文是该专栏的第8篇, 结合优质项目案例 , 让你精通使用Pyppeteer ,后面会持续分享Pyppeteer的干货知识,记得关注。 在注册微软Microsoft账号或者注册outlook邮箱账号的时候,会遇到如下机器人验证: 是的,你可能第一眼看到这个验证页面,首先会想到是定位它的页面元

    2023年04月21日
    浏览(105)
  • Python|Pyppeteer解决微软Microsoft的登录机器人验证(8)

    前言 本文是该专栏的第8篇, 结合优质项目案例 , 让你精通使用Pyppeteer ,后面会持续分享Pyppeteer的干货知识,记得关注。 在注册微软Microsoft账号或者注册outlook邮箱账号的时候,会遇到如下机器人验证: 是的,你可能第一眼看到这个验证页面,首先会想到是定位它的页面元

    2024年02月15日
    浏览(58)
  • 使用selenium模拟登录解决滑块验证问题

    目录 1.登录入口 2.点击“账号密码登录” 3.输入账号、密码并点击登录 4.滑块验证过程 5.小结 本次主要是使用selenium模拟登录网页端的TX新闻,本来最开始是模拟请求的,但是某一天突然发现,部分账号需要经过滑块验证才能正常登录,如果还是模拟请求,需要的参数太多了

    2024年02月16日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包