一、环境搭建准备:

1.Python下载,安装以及环境配置
2.IDE pycharm 工具下载,安装
3.ie浏览器
4.selenium
5.pil:pil第三方库的下载,win下安装whl文件,下载后是一个exe,直接双击安装,它会自动安装到${Python_home}\Lib\site-packages中去
6.pytesser:依赖于pil,tessract,
下载后解压后直接放到${Python_home}\Lib\site-packages目录下,同时,新建一个pytesser.pth,内容就写pytesser(ps.这个内容跟文件名保持一致)
7.tessract下载安装(识别图片中的数字,文字)
下载后解压,将里面的tessdata文件夹,替换掉pytesser解压后的tessdata文件夹即可
二、验证码识别原理: 彩色转灰度,灰度转二值,二值图像识别
1)验证码识别脚本如下:
2)自动登录自动化脚本如下:
三、遇到的问题总结:
1)界面中的验证码图片截图,通过F12查看此元素的布局,大概确定一下验证码的位置,我是试了好几次才试出来的
2)在一个类中定义的方法,在另一个类中调用时,需要对此类建立个实例,通过实例去调用,且该方法的方法名必须加上self参数,不像java一样,可以通过类直接调用静态的方法。具体如下:方法定义为:调用写为:,不加self参数运行会报错,
3)因为tessract安装在其他目录下,但是识别验证码转换时需要调用这个,但是执行这个方法需要在有tesseract.exe目录下执行,不然执行会报错,解决办法,切换当前运行目录到该目录下,运行此方法调用
4)也可以选择手动输入验证码,raw.input(""),输入验证码后按回车
5)也可以用获取cookie的方式绕过验证码这块,但是有些网站貌似不支持cookie

Python+selenium+pil+tesseract实现自动识别验证码的更多相关文章

  1. Python+Selenium+PIL+Tesseract真正自动识别验证码进行一键登录

    Python 2.7 IDE Pycharm 5.0.3 Selenium:Selenium的介绍及使用,强烈推荐@ Eastmount的博客 PIL : Pillow-3.3.0-cp27-cp27 ...

  2. Python使用PIL模块生成随机验证码

    PIL模块的安装 pip3 install pillow 生成随机验证码图片 import random from PIL import Image, ImageDraw, ImageFont fro ...

  3. [python] 网络数据采集 操作清单 BeautifulSoup、Selenium、Tesseract、CSV等

    Python网络数据采集操作清单 BeautifulSoup.Selenium.Tesseract.CSV等 Python网络数据采集操作清单 BeautifulSoup.Selenium.Tesse ...

  4. python+selenium,实现带有验证码的自动化登录功能

    python+selenium的环境准备,请自行安装完成,这里直接贴代码,方便做项目时直接使用. import time from selenium import webdriver from PIL ...

  5. 使用Python + Selenium破解滑块验证码

    在前面一篇博客<使用 Python + Selenium 打造浏览器爬虫>中,我介绍了 Selenium 的基本用法和爬虫开发过程中经常使用的一些小技巧,利用这些写出一个浏览器爬虫已经完全 ...

  6. Python Selenium Cookie 绕过验证码实现登录

    Python Selenium Cookie 绕过验证码实现登录 之前介绍过博客园的通过cookie 绕过验证码实现登录的方法.这里并不多余,会增加分析和另外一种方法实现登录. 1.思路介绍 1.1. ...

  7. python+selenium破解极验验证登录

    1.前言: 目前很多网站会在正常的账号密码认证之外加一些验证码,以此来明确区分人/机行为,最典型的就是极验滑动验证.(如下图) 这里我们以简单实例说明如何实现自动校验类似验证. 2.步骤: 1)点击验 ...

  8. 【Selenium05篇】python+selenium实现Web自动化:读取ini配置文件,元素封装,代码封装,异常处理,兼容多浏览器执行

    一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第五篇博 ...

  9. Python selenium自动化网页抓取器

    (开开心心每一天~ ---虫瘾师) 直接入正题---Python selenium自动控制浏览器对网页的数据进行抓取,其中包含按钮点击.跳转页面.搜索框的输入.页面的价值数据存储.mongodb自动i ...

随机推荐

  1. python3对数据库的基本操作

    其实Python同Java一样,都有对JDBC操作的API. 注意:我的Python版本为3.6.5 Python2.7是应用比较广的,百度博客上很多相关的例子,所以本次不再列出. 只要是用过Java ...

  2. rocketmq双主发送消息 SLAVE_NOT_AVAILABLE 状态

    RocketMQ最佳实践之Producer 投递状态 发送消息时,将得到包含SendStatus的SendResult.首先,我们假设消息的isWaitStoreMsgOK = true(默认是tru ...

  3. spring框架中beans.xml文件报错XmlBeanDefinitionStoreException

    第一次构建spring,实现简单的注入方式,就发生了beans.xml文件报错,报错信息如下图 org.springframework.beans.factory.xml.XmlBeanDefinit ...

  4. PAT——1065. 单身狗

    “单身狗”是中文对于单身人士的一种爱称.本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱. 输入格式: 输入第一行给出一个正整数N(<=50000),是已知夫妻/伴侣的对数:随后N行 ...

  5. AMQ(approximate membership queries)介绍

    目录 简介 举例 Bloom Filter 算法过程 1)位数组: 2)添加元素,k个独立hash函数 3)判断元素是否存在集合 Quotient Filter and Cascade Filter ...

  6. 关于restful开发的疑惑

    if  你没有了解过restful  return; 一.疑惑 restful风格开发是有争议的,restful的设计是请求“resource”,然后只能对“resource”做CRUD操作.抽象于这 ...

  7. HP-Socket国产优秀socket通信组件推荐

    来源:http://blog.csdn.net/clb929/article/details/51085983 * HP-Socket 官方网站:http://www.jessma.org * HP- ...

  8. docker故障问题修复

    systemctl start docker启动 systemctl restart docker重启 执行 vi /etc/sysconfig/selinux , 把 selinux 属性值改为di ...

  9. jquery实现复选框的全选、全不选、反选

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. PHP实现多继承 trait 语法

    原文地址:http://small.aiweimeng.top/index.php/archives/50.html PHP没有多继承的特性.即使是一门支持多继承的编程语言,我们也很少会使用这个特性. ...