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服务器与android客户端socket通信实例
Nov 12 Python
用于统计项目中代码总行数的Python脚本分享
Apr 21 Python
利用Python实现图书超期提醒
Aug 02 Python
浅谈python numpy中nonzero()的用法
Apr 02 Python
Python之pandas读写文件乱码的解决方法
Apr 20 Python
pycharm new project变成灰色的解决方法
Jun 27 Python
python代码打印100-999之间的回文数示例
Nov 24 Python
Python多线程多进程实例对比解析
Mar 12 Python
Python多进程编程multiprocessing代码实例
Mar 12 Python
Python文件夹批处理操作代码实例
Jul 21 Python
Python pip使用超时问题解决方案
Aug 03 Python
python实现无边框进度条的实例代码
Dec 30 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使用DOM和simplexml读取xml文档的方法示例
2017/02/08 PHP
php在linux环境中如何使用redis详解
2020/12/15 PHP
JQuery textlimit 显示用户输入的字符数 限制用户输入的字符数
2009/05/14 Javascript
一个简单的js渐显(fadeIn)渐隐(fadeOut)类
2010/06/19 Javascript
JavaScript 高级篇之函数 (四)
2012/04/07 Javascript
jquery滚动组件(vticker.js)实现页面动态数据的滚动效果
2013/07/03 Javascript
JavaScript设计模式之工厂方法模式介绍
2014/12/28 Javascript
浅谈JavaScript超时调用和间歇调用
2015/08/30 Javascript
Bootstrap每天必学之标签与徽章
2015/11/27 Javascript
js console.log打印对像与数组用法详解
2016/01/21 Javascript
JS判断是否在微信浏览器打开的简单实例(推荐)
2016/08/24 Javascript
微信公众平台开发教程(四) 实例入门:机器人回复(附源码)
2016/12/02 Javascript
深入解析js轮播插件核心代码的实现过程
2017/04/14 Javascript
JavaScript之Blob对象类型的具体使用方法
2019/11/29 Javascript
浅谈vue中$event理解和框架中在包含默认值外传参
2020/08/07 Javascript
vue实现按钮切换图片
2021/01/20 Vue.js
编写自定义的Django模板加载器的简单示例
2015/07/21 Python
python素数筛选法浅析
2018/03/19 Python
windows下 兼容Python2和Python3的解决方法
2018/12/05 Python
python爬虫获取小区经纬度以及结构化地址
2018/12/30 Python
python+opencv打开摄像头,保存视频、拍照功能的实现方法
2019/01/08 Python
ZABBIX3.2使用python脚本实现监控报表的方法
2019/07/02 Python
Python格式化输出--%s,%d,%f的代码解析
2020/04/29 Python
css3实现背景图片拉伸效果像桌面壁纸一样
2013/08/19 HTML / CSS
美国的Eastbay旗下的运动款子品牌:Final-Score
2018/01/01 全球购物
广州足迹信息技术有限公司Java软件工程师试题
2014/02/15 面试题
中文师范生自荐信
2014/01/30 职场文书
秋季运动会演讲稿
2014/09/16 职场文书
毕业生代领毕业材料的授权委托书
2014/09/29 职场文书
党员专题组织生活会发言材料
2014/10/17 职场文书
自我检讨书范文
2015/01/28 职场文书
个人政治思想总结
2015/03/05 职场文书
关于实现中国梦的心得体会
2016/01/05 职场文书
Java中使用Filter过滤器的方法
2021/06/28 Java/Android
从QQtabBar看css命名规范BEM的详细介绍
2021/08/07 HTML / CSS
Python字符串的转义字符
2022/04/07 Python