python tesseract selenium自动识别验证码登陆

文章目录前言一、下载安装tesserocr二、1.2.总结前言前期写得爬虫已经逐渐稳定,但是每次都是手动输入验证码,时间久了觉得麻烦,就想着自动识别验证码登陆,于是就开启了各种百度之路,磕磕碰碰,总算成功实现自动登陆,特次复盘此次验证码识别的全过程,以便大家参考。一、下载安装tesserocrtesserocr是Python的一个OCR识别库,但其实是对tesseract做的一层PythonAPI封装,所以它的核心是tesseract。所以需要先安装tesseract。下载链接:https
摘要由CSDN通过智能技术生成


前言

前期写得爬虫已经逐渐稳定,但是每次都是手动输入验证码,时间久了觉得麻烦,就想着自动识别验证码登陆,于是就开启了各种百度之路,磕磕碰碰,总算成功实现自动登陆,特次复盘此次验证码识别的全过程,以便大家参考。


一、下载安装tesserocr

1. 环境:win7 x64位 +python3.6

tesserocr是Python的一个OCR识别库,但其实是对tesseract做的一层PythonAPI封装,所以它的核心是tesseract。所以需要先安装tesseract。

2. 下载链接

我下载的是tesseract-ocr-setup-3.05.01版本,并且将之后需要用到软件以及语言包打包在一起,有需要的读者可以点击百度云链接下载。
在这里插入图片描述

3.安装注意事项

  • 安装注意事项:在安装到图片这一步时不需要勾选语言包,因为在安装过程中需要额外下载,但总是报错下载不了,可以先安装完再将单独下载语言包放入.\Tesseract-OCR\tessdata文件夹中即可。
    在这里插入图片描述

  • 添加系统变量:我是参考用于图片文本识别的Tesseract-OCR的安装说明(windows10)这篇博文的。

二、安装pytesseract和Pillow包

1.使用pycharm导入pytesseract和Pillow包

2.pytesseract包路径设置

  • pytesseract安装完需要打开pytesseract文件,找到tesseract_cmd(一般在前几十行),将其设置为自己的tesseract.exe的安装路径,不然运行时会报错。
tesseract_cmd = r"D:\\python work\\tesserocr\\Tesseract-OCR\\tesseract.exe"

在这里插入图片描述

三、验证码图片处理

1.使用selenium自动批量右击下载验证码

这里我采用的是每次点击验证码就会自动刷新一下,然后右击另存为保存验证码,循环100次。

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time
import win32api
import win32con

# 键盘键按下
def keyDown(keyName):
    win32api.keybd_event(VK_CODE[keyName], 0, 0, 0)

# 键盘键抬起
def keyUp(keyName):
    win32api.keybd_event(VK_CODE[keyName], 0, win32con.KEYEVENTF_KEYUP, 0)


if __name__ == '__main__':
    url = ''
    driver = webdriver.Chrome()
    driver.get(url)

    VK_CODE = {
   'enter': 0x0D, 'down_arrow': 0x28}
    element = driver.find_element_by_xpath('//*[@id="vercode"]')

    for i in range(100):
        element.click()
        action = ActionChains(driver).move_to_element(element) # 移动到该元素
        action.context_click(element).perform() # 右键点击该元素
        time.sleep(1)

        win32api
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值