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中os和shutil模块实用方法集锦
May 13 Python
Python中取整的几种方法小结
Jan 06 Python
python 使用sys.stdin和fileinput读入标准输入的方法
Oct 17 Python
numpy 计算两个数组重复程度的方法
Nov 07 Python
使用Python批量修改文件名的代码实例
Jan 24 Python
在Python中如何传递任意数量的实参的示例代码
Mar 21 Python
Python TestCase中的断言方法介绍
May 02 Python
搞清楚 Python traceback的具体使用方法
May 13 Python
如何使用python3获取当前路径及os.path.dirname的使用
Dec 13 Python
python GUI库图形界面开发之PyQt5中QWebEngineView内嵌网页与Python的数据交互传参详细方法实例
Feb 26 Python
python自定义函数def的应用详解
Jun 03 Python
Pyecharts 中Geo函数常用参数的用法说明
Feb 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 网页过期时间的控制代码
2009/06/29 PHP
如何使用php绘制在图片上的正余弦曲线
2013/06/08 PHP
PHP生成不重复随机数的方法汇总
2014/11/19 PHP
php实现redis数据库指定库号迁移的方法
2015/01/14 PHP
初识通用数据库操作类――前端easyui-datagrid,form(php)
2015/07/31 PHP
Windows Server 2008 R2和2012中PHP连接MySQL过慢的解决方法
2016/07/02 PHP
微信支付的开发流程详解
2016/09/13 PHP
CSS JavaScript 实现菜单功能 改进版
2008/12/09 Javascript
获取HTML DOM节点元素的方法的总结
2009/08/21 Javascript
javascript写的简单的计算器,内容很多,方法实用,推荐
2011/12/29 Javascript
JS 仿腾讯发表微博的效果代码
2013/12/25 Javascript
jquery实现效果比较好的table选中行颜色
2014/03/25 Javascript
IE6中链接A的href为javascript协议时不在当前页面跳转
2014/06/05 Javascript
js实现的类似于asp数据字典的数据类型代码实例
2014/09/03 Javascript
利用node.js制作命令行工具方法教程(一)
2017/06/22 Javascript
使用 jQuery 实现表单验证功能
2017/07/05 jQuery
JavaScript中各数制转换全面总结
2017/08/21 Javascript
React组件重构之嵌套+继承及高阶组件详解
2018/07/19 Javascript
vue+Vue Router多级侧导航切换路由(页面)的实现代码
2018/12/20 Javascript
Bootstrap实现省市区三级联动(亲测可用)
2019/07/26 Javascript
粗略分析Python中的内存泄漏
2015/04/23 Python
python简单读取大文件的方法
2016/07/01 Python
Python编程二分法实现冒泡算法+快速排序代码示例
2018/01/15 Python
python画出三角形外接圆和内切圆的方法
2018/01/25 Python
从请求到响应过程中django都做了哪些处理
2018/08/01 Python
python仿抖音表白神器
2019/04/08 Python
python 多进程共享全局变量之Manager()详解
2019/08/15 Python
Python实现LR1文法的完整实例代码
2020/10/25 Python
婚纱摄影师求职信
2014/03/07 职场文书
暑期教师培训方案
2014/06/07 职场文书
学校运动会报道稿
2014/09/23 职场文书
私人房屋买卖协议书
2014/10/04 职场文书
出生证明范本
2015/06/15 职场文书
《比的意义》教学反思
2016/02/18 职场文书
Oracle创建只读账号的详细步骤
2021/06/07 Oracle
Python中requests库的用法详解
2022/06/05 Python