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调用C语言开发的共享库方法实例
Mar 18 Python
Python selenium 三种等待方式详解(必会)
Sep 15 Python
Python利用Beautiful Soup模块修改内容方法示例
Mar 27 Python
基于Python实现的ID3决策树功能示例
Jan 02 Python
Python之dict(或对象)与json之间的互相转化实例
Jun 05 Python
简单了解python中对象的取反运算符
Jul 01 Python
python 利用已有Ner模型进行数据清洗合并代码
Dec 24 Python
如何在django中实现分页功能
Apr 22 Python
在pycharm中使用matplotlib.pyplot 绘图时报错的解决
Jun 01 Python
Python如何将模块打包并发布
Aug 30 Python
python向企业微信发送文字和图片消息的示例
Sep 28 Python
python的变量和简单数字类型详解
Sep 15 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创建word文档的方法(平台无关)
2016/03/29 PHP
php生成网页桌面快捷方式
2017/05/05 PHP
PHP实现的数组和XML文件相互转换功能示例
2018/03/15 PHP
使用jQuery的ajax功能实现的RSS Reader 代码
2009/09/03 Javascript
THREE.JS入门教程(4)创建粒子系统
2013/01/24 Javascript
jQuery插件pagination实现分页特效
2015/04/12 Javascript
四种参数传递的形式——URL,超链接,js,form表单
2015/07/24 Javascript
jQuery 翻页组件yunm.pager.js实现div局部刷新的思路
2016/08/11 Javascript
JS 根据子网掩码,网关计算出所有IP地址范围示例
2020/04/23 Javascript
Vue.JS入门教程之自定义指令
2016/12/08 Javascript
vue学习笔记之vue1.0和vue2.0的区别介绍
2017/05/17 Javascript
浅谈Vue render函数在ElementUi中的应用
2018/09/06 Javascript
在JavaScript中使用严格模式(Strict Mode)
2019/06/13 Javascript
使用Vue CLI创建typescript项目的方法
2019/08/09 Javascript
微信小程序使用echarts获取数据并生成折线图
2019/10/16 Javascript
Nodejs实现WebSocket代码实例
2020/05/19 NodeJs
Javascript新手入门之字符串拼接与变量的应用
2020/12/03 Javascript
[33:28]完美世界DOTA2联赛PWL S3 PXG vs GXR 第三场 12.19
2020/12/24 DOTA
[01:09:16]DOTA2-DPC中国联赛 正赛 SAG vs Dynasty BO3 第一场 1月25日
2021/03/11 DOTA
浅谈django开发者模式中的autoreload是如何实现的
2017/08/18 Python
用Python实现数据的透视表的方法
2018/11/16 Python
在python中利用numpy求解多项式以及多项式拟合的方法
2019/07/03 Python
Python Django 实现简单注册功能过程详解
2019/07/29 Python
Python3 chardet模块查看编码格式的例子
2019/08/14 Python
python-Web-flask-视图内容和模板知识点西宁街
2019/08/23 Python
python使用matplotlib绘制雷达图
2019/10/18 Python
python中adb有什么功能
2020/06/07 Python
python新手学习使用库
2020/06/11 Python
小班上学期评语
2014/05/05 职场文书
年度评优评先方案
2014/06/03 职场文书
优秀党员学习焦裕禄精神思想汇报范文
2014/09/10 职场文书
教师四风对照检查材料思想汇报
2014/09/17 职场文书
党的群众路线教育实践活动个人对照检查剖析材料
2014/09/23 职场文书
2016年会开场白台词
2015/06/01 职场文书
关于考试抄袭的检讨书
2019/11/02 职场文书