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  __getattr__与__setattr__使用方法
Sep 06 Python
Python中的高级函数map/reduce使用实例
Apr 13 Python
python executemany的使用及注意事项
Mar 13 Python
python中的set实现不重复的排序原理
Jan 24 Python
Win7 64位下python3.6.5安装配置图文教程
Oct 27 Python
Java与Python两大幸存者谁更胜一筹呢
Apr 12 Python
spark: RDD与DataFrame之间的相互转换方法
Jun 07 Python
Win10环境python3.7安装dlib模块趟过的坑
Aug 01 Python
opencv转换颜色空间更改图片背景
Aug 20 Python
tensorflow的ckpt及pb模型持久化方式及转化详解
Feb 12 Python
python中的sys模块和os模块
Mar 20 Python
 python中的元类metaclass详情
May 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 Curl模拟登录微信公众平台、新浪微博实例代码
2016/01/28 PHP
Yii编程开发常见调用技巧集锦
2016/07/15 PHP
详解php中curl返回false的解决办法
2019/03/18 PHP
js下判断 iframe 是否加载完成的完美方法
2010/10/26 Javascript
javascript插入样式实现代码
2012/02/22 Javascript
js/ajax跨越访问-jsonp的原理和实例(javascript和jquery实现代码)
2012/12/27 Javascript
js Array操作的最简短最容易理解方法
2013/12/09 Javascript
js实现每日自动换一张图片的方法
2015/05/04 Javascript
javascript实现html页面之间参数传递的四种方法实例分析
2015/12/15 Javascript
JS获取CSS样式(style/getComputedStyle/currentStyle)
2016/01/19 Javascript
浅谈mvvm-simple双向绑定简单实现
2018/04/18 Javascript
jQuery-ui插件sortable实现自由拖动排序
2018/12/01 jQuery
小试SVG之新手小白入门教程
2019/01/08 Javascript
简谈创建React Component的几种方式
2019/06/15 Javascript
Vue.js实现备忘录功能
2019/06/26 Javascript
微信小程序连续签到7天积分获得功能的示例代码
2020/08/20 Javascript
利用Python暴力破解zip文件口令的方法详解
2017/12/21 Python
OpenCV+python手势识别框架和实例讲解
2018/08/03 Python
Pycharm简单使用教程(入门小结)
2019/07/04 Python
如何在Django配置文件里配置session链接
2019/08/06 Python
python代码如何注释
2020/06/01 Python
使用openCV去除文字中乱入的线条实例
2020/06/02 Python
Keras官方中文文档:性能评估Metrices详解
2020/06/15 Python
浅谈tensorflow 中的图片读取和裁剪方式
2020/06/30 Python
Python实现图片查找轮廓、多边形拟合、最小外接矩形代码
2020/07/14 Python
python实现图片转换成素描和漫画格式
2020/08/19 Python
python Matplotlib基础--如何添加文本和标注
2021/01/26 Python
美国顶级品牌男士大码服装店:DXL
2017/08/30 全球购物
学校师德承诺书
2014/05/23 职场文书
会计岗位说明书
2014/07/29 职场文书
审计局班子四风对照检查材料思想汇报
2014/10/07 职场文书
预备党员2014年第四季度思想汇报范文
2014/10/25 职场文书
个人工作总结范文2014
2014/11/07 职场文书
民政局标准版离婚协议书
2014/12/01 职场文书
分析MySQL抛出异常的几种常见解决方式
2021/05/18 MySQL
Python中的matplotlib绘制百分比堆叠柱状图,并为每一个类别设置不同的填充图案
2022/04/20 Python