Python验证码截取识别代码实例


Posted in Python onMay 16, 2020

1.环境

  • python3.7
  • selenium
  • webdriver
  • PIL
  • Image

2.下面demo是截取“去哪儿”官网的验证码

# -*- coding=utf-8 -*-
# CodeDemo.py
# PyCharm  Slade  2019/7/20
# import selenium,os
from selenium import webdriver
from PIL import Image


def aucthcode(coderddr):
  """
  传参验证码的Xpath
  页面全图为'code.png'     命名这个你们开心就好
  验证码截图名为"aucthcode.png
  :param coderddr:
  :return:
  """
  
  driver.save_screenshot('code.png')
  element = driver.find_element_by_xpath(coderddr)    # 获取验证码的div位置
  left = element.location['x'] +280
  top = element.location['y'] +81
  right = left + element.size['width'] + int(13)
  bottom = top + element.size['height'] + int(2)
  img = Image.open('code.png')
  imgcod = img.crop((left,top,right,bottom))     # 根据 div的长宽截图
  imgcod.save('aucthcode.png')
  print((left,top,right,bottom))


if __name__ == '__main__':
  driver = webdriver.Chrome()
  driver.maximize_window()
  driver.get('https://user.qunar.com/passport/login.jsp')
  driver.find_element_by_css_selector('a.pwd-login').click()
  aucthcode('//*[@id="captcha"][1]/p[1]')
  driver.quit()


  # img = Image.open('code.png')
  # imgcod = img.crop((1392,393,1490,425))     # 根据 div的长宽截图
  # imgcod.save('aucthcodeN.png')

注:代码中的验证码截取坐标,不一定是标准的,我是通过获取元素的坐标为基础参数,然后在main里面进行调试最终得到我适用的坐标

运行效果展示 code.png

Python验证码截取识别代码实例

运行截取的验证码效果展示 aucthcode.png

Python验证码截取识别代码实例

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
详解Python中for循环的使用
Apr 14 Python
Python编程中运用闭包时所需要注意的一些地方
May 02 Python
windows下安装Python和pip终极图文教程
Mar 05 Python
Python实现的批量修改文件后缀名操作示例
Dec 07 Python
Python爬虫实现获取动态gif格式搞笑图片的方法示例
Dec 24 Python
Python中捕获键盘的方式详解
Mar 28 Python
详解python实现交叉验证法与留出法
Jul 11 Python
python3.5 cv2 获取视频特定帧生成jpg图片
Aug 28 Python
ipython jupyter notebook中显示图像和数学公式实例
Apr 15 Python
Pycharm-community-2020.2.3 社区版安装教程图文详解
Dec 08 Python
python process模块的使用简介
May 14 Python
Python创建SQL数据库流程逐步讲解
Sep 23 Python
基于plt.title无法显示中文的快速解决
May 16 #Python
基于python生成英文版词云图代码实例
May 16 #Python
解决Python数据可视化中文部分显示方块问题
May 16 #Python
Python使用Excel将数据写入多个sheet
May 16 #Python
python小程序之4名牌手洗牌发牌问题解析
May 15 #Python
python3 使用openpyxl将mysql数据写入xlsx的操作
May 15 #Python
使用Python实现将多表分批次从数据库导出到Excel
May 15 #Python
You might like
php+jQuery.uploadify实现文件上传教程
2014/12/26 PHP
php安装swoole扩展的方法
2015/03/19 PHP
ThinkPHP实现更新数据实例详解(demo)
2016/06/29 PHP
PHP mysqli事务操作常用方法分析
2017/07/22 PHP
用roll.js实现的图片自动滚动+鼠标触动的特效
2007/03/18 Javascript
js trim函数 去空格函数与正则集锦
2009/11/20 Javascript
JQuery将文本转化成JSON对象需要注意的问题
2011/05/09 Javascript
三级下拉菜单的js实现代码
2011/05/23 Javascript
javascript实现文本域写入字符时限定字数
2014/02/12 Javascript
用js将内容复制到剪贴板兼容浏览器
2014/03/18 Javascript
JavaScript中的数学运算介绍
2014/12/29 Javascript
原生JS实现的放大镜效果实例代码
2016/10/15 Javascript
canvas的神奇用法
2017/02/03 Javascript
js模态对话框使用方法详解
2017/02/16 Javascript
bootstrap实现的自适应页面简单应用示例
2017/03/09 Javascript
Angular2 自定义表单验证器的实现方法
2018/12/14 Javascript
vue数据初始化initState的实例详解
2019/04/11 Javascript
详解Vue项目中实现锚点定位
2019/04/24 Javascript
koa+mongoose实现简单增删改查接口的示例代码
2019/05/13 Javascript
JS将时间秒转换成天小时分钟秒的字符串
2019/07/10 Javascript
[01:06]DOTA2隆重推出2016冬季勇士令状 内含上海特级锦标赛互动指南
2016/02/17 DOTA
Django基础之Model操作步骤(介绍)
2017/05/27 Python
Python实现对adb命令封装
2020/03/06 Python
CSS3 实现飘动的云朵动画
2020/12/01 HTML / CSS
世界上最大的在线汽车租赁预订平台:Rentalcars.com(支持中文)
2018/10/12 全球购物
Redbubble法国:由独立艺术家设计的独特产品
2019/01/08 全球购物
员工薪酬福利制度
2014/01/17 职场文书
班级德育工作实施方案
2014/02/21 职场文书
园林设计专业毕业生求职信
2014/03/23 职场文书
社区党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
优秀小学生事迹材料
2014/12/26 职场文书
2015年幼儿园学期工作总结
2015/05/22 职场文书
致短跑运动员加油稿
2015/07/21 职场文书
《黄山奇石》教学反思
2016/02/18 职场文书
Python如何解决secure_filename对中文不支持问题
2021/07/16 Python
经典《舰娘》游改全新动画预告 预定11月开播
2022/04/01 日漫