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的函数嵌套的使用方法
Jan 24 Python
利用Python脚本在Nginx和uwsgi上部署MoinMoin的教程
May 05 Python
Python中使用platform模块获取系统信息的用法教程
Jul 08 Python
Python字符编码与函数的基本使用方法
Sep 30 Python
python爬虫基本知识
Mar 05 Python
Python操作Oracle数据库的简单方法和封装类实例
May 07 Python
python实现textrank关键词提取
Jun 22 Python
对Python w和w+权限的区别详解
Jan 23 Python
Python进度条的制作代码实例
Aug 31 Python
new_zeros() pytorch版本的转换方式
Feb 18 Python
python打开文件的方式有哪些
Jun 29 Python
教你怎么用PyCharm为同一服务器配置多个python解释器
May 31 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缓存函数的使用说明
2013/05/10 PHP
浅析php面向对象public private protected 访问修饰符
2013/06/30 PHP
php函数连续调用实例分析
2015/07/30 PHP
PHP判断FORM表单或URL参数来的数据是否为整数的方法
2016/03/25 PHP
关于图片按比例自适应缩放的js代码
2011/10/30 Javascript
JS TextArea字符串长度限制代码集合
2012/10/31 Javascript
JS实现图片预加载无需等待
2012/12/21 Javascript
js调用图片隐藏&显示实现代码
2013/09/13 Javascript
教你如何使用firebug调试功能了解javascript闭包和this
2015/03/04 Javascript
Jquery Ajax Error 调试错误的技巧
2015/11/20 Javascript
Angular中$compile源码分析
2016/01/28 Javascript
vue.js+Element实现表格里的增删改查
2017/01/18 Javascript
JS/jquery实现一个网页内同时调用多个倒计时的方法
2017/04/27 jQuery
Javascript实现基本运算器
2017/07/15 Javascript
js学使用setTimeout实现轮循动画
2017/07/17 Javascript
javaScript和jQuery自动加载简单代码实现方法
2017/11/24 jQuery
express+mockjs实现模拟后台数据发送功能
2018/01/07 Javascript
详解ES6 Fetch API HTTP请求实用指南
2018/11/14 Javascript
javascript实现的字符串转换成数组操作示例
2019/06/13 Javascript
[58:59]完美世界DOTA2联赛PWL S3 access vs CPG 第一场 12.13
2020/12/16 DOTA
Numpy中stack(),hstack(),vstack()函数用法介绍及实例
2018/01/09 Python
PYQT5 vscode联合操作qtdesigner的方法
2020/03/24 Python
Python3操作读写CSV文件使用包过程解析
2020/04/10 Python
pycharm如何设置官方中文(如何汉化)
2020/12/29 Python
如何用 Python 制作一个迷宫游戏
2021/02/25 Python
使用phonegap操作数据库的实现方法
2017/03/31 HTML / CSS
英国最大的纸工艺品商店:CraftStash
2018/12/01 全球购物
Prototype中如何为一个元素添加一个方法
2014/12/08 面试题
物业门卫岗位职责
2013/12/28 职场文书
军训自我鉴定范文
2014/02/13 职场文书
安卓程序员求职信
2014/02/28 职场文书
黄石寨导游词
2015/02/05 职场文书
学生逃课万能检讨书2000字
2015/02/17 职场文书
goland设置颜色和字体的操作
2021/05/05 Golang
Pytorch数据读取之Dataset和DataLoader知识总结
2021/05/23 Python
pycharm部署django项目到云服务器的详细流程
2021/06/29 Python