• 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

    
    
  • 相关阅读:
    MATLAB中的fopen、fclose、fprintf、fscanf、fread、fwrite
    网站制作中常用的一些网页布局
    更快学习 JavaScript 的 6 个思维技巧---分享
    根据数据生成列表
    动态生成随机背景色表格
    根据数据生成表单
    _鼠标移动跟随效果
    tab菜单事件
    全选 反选案例
    onresize的应用--自适应弹窗
  • 原文地址:https://www.cnblogs.com/slade-sun/p/11226899.html
Copyright © 2020-2023  润新知