zoukankan      html  css  js  c++  java
  • python之验证码截取与验证码识别

    1. 环境

         python3.7

        selenium
        webdriver
        PIL
        Image

      2.下面demo是截取“去哪儿”官网的验证码

      

     1 # -*- coding=utf-8 -*-
     2 # CodeDemo.py
     3 # PyCharm   Slade   2019/7/20
     4 # import selenium,os
     5 from selenium import webdriver
     6 from PIL import Image
     7 
     8 
     9 def aucthcode(coderddr):
    10     """
    11     传参验证码的Xpath
    12     页面全图为'code.png'         命名这个你们开心就好
    13     验证码截图名为"aucthcode.png
    14     :param coderddr:
    15     :return:
    16     """
    17     
    18     driver.save_screenshot('code.png')
    19     element = driver.find_element_by_xpath(coderddr)        # 获取验证码的div位置
    20     left = element.location['x'] +280
    21     top = element.location['y'] +81
    22     right = left + element.size['width'] + int(13)
    23     bottom = top + element.size['height'] + int(2)
    24     img = Image.open('code.png')
    25     imgcod = img.crop((left,top,right,bottom))          # 根据 div的长宽截图
    26     imgcod.save('aucthcode.png')
    27     print((left,top,right,bottom))
    28 
    29 
    30 if __name__ == '__main__':
    31     driver = webdriver.Chrome()
    32     driver.maximize_window()
    33     driver.get('https://user.qunar.com/passport/login.jsp')
    34     driver.find_element_by_css_selector('a.pwd-login').click()
    35     aucthcode('//*[@id="captcha"][1]/p[1]')
    36     driver.quit()
    37 
    38 
    39     # img = Image.open('code.png')
    40     # imgcod = img.crop((1392,393,1490,425))          # 根据 div的长宽截图
    41     # imgcod.save('aucthcodeN.png')

      注:代码中的验证码截取坐标,不一定是标准的,我是通过获取元素的坐标为基础参数,然后在main里面进行调试最终得到我适用的坐标

    运行效果展示 code.png

    
    


    运行截取的验证码效果展示 aucthcode.png

    
    
  • 相关阅读:
    python3.6+requests实现接口自动化4
    python3.6+requests实现接口自动化3
    Druid学习之路 (五)Druid的数据摄取任务类型
    Druid学习之路 (四)Druid的数据采集格式
    Druid学习之路 (三)Druid的数据源和段
    Druid学习之路 (二)Druid架构
    Druid学习之路 (一)Druid初识
    Hive sql和Presto sql的一些对比
    Pyspark的HBaseConverters详解
    Pyspark访问Hbase
  • 原文地址:https://www.cnblogs.com/slade-sun/p/11226899.html
Copyright © 2011-2022 走看看