薛之谦6666 发表于 2022-7-16 03:02

Python验证码识别并自动复制

本帖最后由 薛之谦6666 于 2022-7-16 15:28 编辑

代码开源在Github:https://github.com/Technicalflight/yzm-OCR
感谢你们的小星星!!!!{:17_1068:}

import ddddocr
import pyperclip
import requests
import pytesseract
from PIL import Image
import os
#死循环
while True:
    yzm = input("请将验证码图片链接拖入到当前窗口(或者直接输入验证码图片链接):")
    yzm = requests.get(yzm)
    ocr = ddddocr.DdddOcr()
    image_yzm = ocr.classification(yzm.content)
    pytesseract.pytesseract.tesseract_cmd = r"xxx"# 设置你下载的tesseract.exe位置路径,类似于C:\Program Files\Tesseract-OCR\tesseract.exe
    #判断是否存在yzm.png文件
    if os.path.exists('yzm.png'):
      os.remove('yzm.png')
    #下载验证码图片
    with open('yzm.png', 'wb') as f:
      f.write(yzm.content)
    text = pytesseract.image_to_string('yzm.png', lang='eng')# 识别
    print(f'Google tesseract识别的验证码为:{text}')
    print(f'ddddocr识别的验证码为:{image_yzm}')
    #复制到剪贴板
    pyperclip.copy(image_yzm)
    print("验证码已复制到剪贴板(默认复制ddddocr识别的验证码)")
    #等待下一次循环
    input("按回车键继续")
    #退出循环
    cz = 'y'
    cz = input("是否继续?(y/n)(默认继续):")
    if cz == "n":
      break

----------------------------------------------------------------------------------------------------------
v2 新增滑块验证,但是还是要到浏览器控制台进行执行:

----------------------------------------------------------------------------------------------------------
运行截图:


89684828 发表于 2022-7-16 06:34

感谢楼主分享,支持一下!

laos 发表于 2022-7-16 06:47

现在大多是滑块/手势/点选验证码了吧~

lxfx1 发表于 2022-7-16 06:49

现在这种验证比较少了,大多都是滑块验证

lammysoft 发表于 2022-7-16 07:15

现在数字验证码都少了,大多数都是像论坛登录的,还有颠倒字的。

dork 发表于 2022-7-16 08:33

小星星小星星

daisypojie 发表于 2022-7-16 10:45

advancejar 发表于 2022-7-16 12:02

ddddocr滑块也能识别的

熊猫拍板砖 发表于 2022-7-16 12:11

这是只做了个复制功能吧,我看的识别是ddddocr的库

Biackezio 发表于 2022-7-16 12:44

感谢大佬分享
页: [1] 2
查看完整版本: Python验证码识别并自动复制