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回溯法实现数组全排列输出实例分析
Mar 17 Python
Ruby元编程基础学习笔记整理
Jul 02 Python
利用Python批量压缩png方法实例(支持过滤个别文件与文件夹)
Jul 30 Python
Python 文件操作的详解及实例
Sep 18 Python
python 集合 并集、交集 Series list set 转换的实例
May 29 Python
Python基于OpenCV库Adaboost实现人脸识别功能详解
Aug 25 Python
Python实现带下标索引的遍历操作示例
May 30 Python
Django中使用haystack+whoosh实现搜索功能
Oct 08 Python
Python使用Opencv实现图像特征检测与匹配的方法
Oct 30 Python
python给指定csv表格中的联系人群发邮件(带附件的邮件)
Dec 31 Python
python使用列表的最佳方案
Aug 12 Python
python 视频下载神器(you-get)的具体使用
Jan 06 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
浅析SVN常见问题及解决方法
2013/06/21 PHP
浅析php插件 Simple HTML DOM 用DOM方式处理HTML
2013/07/01 PHP
Thinkphp关闭缓存的方法
2015/06/26 PHP
Smarty实现页面静态化(生成HTML)的方法
2016/05/23 PHP
php简单检测404页面的方法示例
2019/08/23 PHP
js获取单选框或复选框值及操作
2012/12/18 Javascript
js中的数组Array定义与sort方法使用示例
2013/08/29 Javascript
jQuery实现径向动画菜单效果
2015/07/17 Javascript
javascript实现tab切换的两个实例
2015/11/05 Javascript
js 判断一组日期是否是连续的简单实例
2016/07/11 Javascript
JavaScript中数组slice和splice的对比小结
2016/09/22 Javascript
js转html实体的方法
2016/09/27 Javascript
Angular中$state.go页面跳转并传递参数的方法
2017/05/09 Javascript
echarts饼图扇区添加点击事件的实例
2017/10/16 Javascript
vue中关闭eslint的方法分析
2018/08/04 Javascript
基于better-scroll 实现歌词联动功能的代码
2020/05/07 Javascript
javascript如何使用函数random来实现课堂随机点名方法详解
2020/07/28 Javascript
vue Treeselect 树形下拉框:获取选中节点的ids和lables操作
2020/08/15 Javascript
如何使用RoughViz可视化Vue.js中的草绘图表
2021/01/30 Vue.js
用Python输出一个杨辉三角的例子
2014/06/13 Python
用Python脚本来删除指定容量以上的文件的教程
2015/05/04 Python
利用Python自带PIL库扩展图片大小给图片加文字描述的方法示例
2017/08/08 Python
Python如何抓取天猫商品详细信息及交易记录
2018/02/23 Python
Python安装OpenCV的示例代码
2020/03/05 Python
解决jupyter notebook 出现In[*]的问题
2020/04/13 Python
python + selenium 刷B站播放量的实例代码
2020/06/12 Python
css3 transform 3d 使用css3创建动态3d立方体(html5实践)
2013/01/06 HTML / CSS
海淘母婴商城:国际妈咪
2016/07/23 全球购物
苏格兰销售女装、男装和童装的连锁店:M&Co
2018/03/16 全球购物
巴西女装购物网站:Eclectic
2018/04/24 全球购物
Book Depository欧盟:一家领先的国际图书零售商
2019/05/21 全球购物
建议书标准格式
2014/03/12 职场文书
市场部岗位职责范本
2015/04/15 职场文书
鸡毛信观后感
2015/06/11 职场文书
2016大学生入党积极分子心得体会
2016/01/06 职场文书
利用python Pandas实现批量拆分Excel与合并Excel
2021/05/23 Python