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中使用smtplib和email模块发送邮件实例
Apr 22 Python
Python列表(list)常用操作方法小结
Feb 02 Python
详解Python中映射类型(字典)操作符的概念和使用
Aug 19 Python
python 写的一个爬虫程序源码
Feb 28 Python
用Pygal绘制直方图代码示例
Dec 07 Python
python实现用户管理系统
Jan 10 Python
Python实现字符型图片验证码识别完整过程详解
May 10 Python
VSCode中自动为Python文件添加头部注释
Nov 14 Python
Python一行代码解决矩阵旋转的问题
Nov 30 Python
python 读取更新中的log 或其它文本方式
Dec 24 Python
python读取excel数据并且画图的实现示例
Feb 08 Python
python装饰器代码深入讲解
Mar 01 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字符串函数学习之substr()
2015/03/27 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
2020/02/18 PHP
js常见表单应用技巧
2008/01/09 Javascript
JSuggest自动匹配下拉框使用方法(示例代码)
2013/12/27 Javascript
jQuery实现鼠标经过提示信息的地图热点效果
2015/04/26 Javascript
jQuery语法小结(超实用)
2015/12/31 Javascript
值得分享的轻量级Bootstrap Table表格插件
2016/05/30 Javascript
利用百度地图API获取当前位置信息的实例
2017/11/06 Javascript
nodejs的路径问题的解决
2018/06/30 NodeJs
详解小程序输入框闪烁及重影BUG解决方案
2018/08/31 Javascript
vue 项目地址去掉 #的方法
2018/10/20 Javascript
用Fundebug插件记录网络请求异常的方法
2019/02/21 Javascript
vue 实现走马灯效果
2019/10/28 Javascript
[42:48]完美世界DOTA2联赛PWL S3 Magma vs INK ICE 第二场 12.11
2020/12/16 DOTA
python之wxPython应用实例
2014/09/28 Python
Python检测网站链接是否已存在
2016/04/07 Python
Python实现多进程共享数据的方法分析
2017/12/04 Python
Python产生Gnuplot绘图数据的方法
2018/11/09 Python
Python空间数据处理之GDAL读写遥感图像
2019/08/01 Python
Python学习笔记之函数的定义和作用域实例详解
2019/08/13 Python
Python3.9最新版下载与安装图文教程详解(Windows系统为例)
2020/11/28 Python
Hoka One One法国官网:美国专业跑鞋品牌
2018/12/29 全球购物
抽象方法、抽象类怎样声明
2014/10/25 面试题
介绍一下javax.servlet.Servlet接口及其主要方法
2015/11/30 面试题
遥感技术与仪器求职信
2014/02/22 职场文书
工业自动化专业自荐信范文
2014/04/10 职场文书
学习朴航瑛老师爱岗敬业先进事迹思想汇报
2014/09/17 职场文书
加强干部作风建设整改方案
2014/10/24 职场文书
家长给老师的感谢信
2015/01/20 职场文书
高中生个性发展自我评价
2015/03/09 职场文书
上市公司财务总监岗位职责
2015/04/03 职场文书
小学少先队工作总结2015
2015/05/26 职场文书
2019年中,最受大众欢迎的6本新书
2019/08/07 职场文书
解决Navicat for MySQL 连接 MySQL 报2005错误的问题
2021/05/29 MySQL
漫画「狩龙人拉格纳」公开TV动画预告图
2022/03/22 日漫
《群青的幻想曲》京力秋树角色PV公开
2022/04/08 日漫