一、环境搭建准备:

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. JNI由浅入深_2_C语言基础

    *含义 1.乘法 3*5 2.定义指针变量 int * p://定义了一个名字叫p的变量,能够存放int数据类型的地址 3.指针运算符, //如果p是一个已经定义好的指针变量则*p表示以p的内容为地址 ...

  2. java程序陷阱

    1.找奇数

  3. 二叉查找树(二叉排序树)(C语言)

    #include<stdio.h> #include "fatal.h" struct TreeNode; typedef struct TreeNode *Posit ...

  4. SQL引用DAL

    步骤:https://www.cnblogs.com/grom/articles/8981116.html 异常: 解决方案: 执行 ALTER DATABASE [DBName] SET TRUST ...

  5. mac终端输入python默认打开python3

    *** 1. 终端打开.bash_profile文件 ***open ~/.bash_profile *** 2. .bash_profile文件内容 ***# Setting PATH for Py ...

  6. angular4 防二次重复点击

    监听click事件, 默认三秒钟内的点击事件触发第一次的点击事件,也可以通过throttleTime自定义时间 只触发第一次 /** * <div (throttleClick)="g ...

  7. C++笔记016:const 基础

    原创笔记,转载请注明出处! 点击[关注],关注也是一种美德~ 笔记十六关于const关键字,在C语言和C++中const的表现是不同的. 先看一下const基础知识. 对const的初级理解:cons ...

  8. 文库网站建设,文库网站PHP代码,TP开发文库网

    专业定制仿百度文库网站系统,文库网站系统源码,文库‌‌网站建设开发,支持电脑版+手机版+微信版+小程序版+APP版,由10年的技术团队专业定制,需要的朋友可以联系我们.网站采用:PHP+MySQL+t ...

  9. 学在Java之前

    java基础 下载JDK JDK(Java Development Kit  Java开发工具包) 官方网址: www.oracle.com                参阅oracle.html ...

  10. UVA 514 - Rails ( 铁轨)

    from my CSDN: https://blog.csdn.net/su_cicada/article/details/86939523 例题6-2 铁轨(Rails, ACM/ICPC CERC ...