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 字符串定义
Sep 25 Python
Python中list列表的一些进阶使用方法介绍
Aug 15 Python
解决Python出现_warn_unsafe_extraction问题的方法
Mar 24 Python
python 格式化输出百分号的方法
Jan 20 Python
如何使用Python发送HTML格式的邮件
Feb 11 Python
Python虚拟环境的创建和包下载过程分析
Jun 19 Python
Python select及selectors模块概念用法详解
Jun 22 Python
Django+RestFramework API接口及接口文档并返回json数据操作
Jul 12 Python
用python 绘制茎叶图和复合饼图
Feb 26 Python
Python文件的操作示例的详细讲解
Apr 08 Python
教你怎么用python爬取爱奇艺热门电影
May 20 Python
Python爬虫实战之爬取京东商品数据并实实现数据可视化
Jun 07 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安全开发库中文详细介绍
2015/03/22 PHP
PHP验证码无法显示的原因及解决办法
2017/08/11 PHP
PHP实现打包zip并下载功能
2018/06/12 PHP
Javascript 陷阱 window全局对象
2008/11/26 Javascript
js常用排序实现代码
2010/12/28 Javascript
JS实现下拉框的动态添加(附效果)
2013/04/03 Javascript
Node.js实现Excel转JSON
2015/04/24 Javascript
js+css实现有立体感的按钮式文字竖排菜单效果
2015/09/01 Javascript
轻松实现javascript图片轮播特效
2016/01/13 Javascript
Bootstrap Table使用方法详解
2016/08/01 Javascript
vue init失败简单解决方法(终极版)
2017/12/22 Javascript
使用Vue.js开发微信小程序开源框架mpvue解析
2018/03/20 Javascript
Node.js中的不安全跳转如何防御详解
2018/10/21 Javascript
js消除图片小游戏代码
2019/12/11 Javascript
vue 实现动态路由的方法
2020/07/06 Javascript
使用Python编写一个简单的tic-tac-toe游戏的教程
2015/04/16 Python
Python编程实现蚁群算法详解
2017/11/13 Python
微信跳一跳python辅助软件思路及图像识别源码解析
2018/01/04 Python
如何使用VSCode愉快的写Python于调试配置步骤
2018/04/06 Python
Python集中化管理平台Ansible介绍与YAML简介
2019/06/12 Python
python 叠加等边三角形的绘制的实现
2019/08/14 Python
django中上传图片分页三级联动效果的实现代码
2019/08/30 Python
8段用于数据清洗Python代码(小结)
2019/10/31 Python
python中有关时间日期格式转换问题
2019/12/25 Python
PyTorch 随机数生成占用 CPU 过高的解决方法
2020/01/13 Python
python实现图片,视频人脸识别(opencv版)
2020/11/18 Python
基于MUI框架使用HTML5实现的二维码扫描功能
2018/03/01 HTML / CSS
微信端html5页面调用分享接口示例
2018/03/14 HTML / CSS
Etam俄罗斯:法国女士内衣和家居服网上商店
2019/10/30 全球购物
报关简历自我评价怎么写
2013/09/19 职场文书
初中地理教学反思
2014/01/11 职场文书
新员工入职感言
2014/02/01 职场文书
装饰活动策划方案
2014/02/11 职场文书
预备党员综合考察材料
2014/05/31 职场文书
推普周国旗下讲话稿
2014/09/21 职场文书
寒假致家长的一封信
2015/10/10 职场文书