Tesseract案例1

import pytesseract
from urllib import request
import re
from PIL import Image
from http.cookiejar import MozillaCookieJar
import random
import threading


cookiejar = MozillaCookieJar('cookie.txt')  # 用MozillaCookieJar类创建cookiejar对象,设置cookie保存路径 文件名
handler = request.HTTPCookieProcessor(cookiejar)  # 使用cookiejar创建一个HTTPCookieProcess对象handler
opener = request.build_opener(handler)  # 使用上一步创建好的handler构建一个opener
# 上面这三步最终把cookie返回给了opener,之后操作都用这个opener,就会带上cookie了

# cookiejar.load(ignore_discard=True)  # 把保存到本地的cookie加载到代码里


def get_img():
    url = 'https://api.liqiang365.com/validcode/get'
    pytesseract.pytesseract.tesseract_cmd = r'E:\Tesseract-OCR\tesseract.exe'

    img = opener.open(url)
    cookiejar.save(ignore_discard=True)
    image = Image.open(img)
    # request.urlretrieve(url, '123.png')
    # image = Image.open('123.png')
    text = pytesseract.pytesseract.image_to_string(image)
    texts = []
    for t in text:
        if t == ' ':
            continue
        texts.append(t)
    img_text = ''.join(texts)
    print('识别图片验证码:', img_text)
    cookie_brsy_pic_code = re.search(r'cookie_brsy_pic_code=(.*?) for', str(cookiejar))
    cookie_brsy_pic_code = cookie_brsy_pic_code.groups()[0]
    # print(cookie_brsy_pic_code)
    return img_text, cookie_brsy_pic_code


glock = threading.Lock()


def post(img_text, cookie_brsy_pic_code):
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'
               }
    glock.acquire()
    ttt = [3, 5, 7, 8, 9]
    shouji = '1' + str(random.choice(ttt)) + str(random.randint(100000000, 999999999))
    print('手机号:' + shouji)
    glock.release()
    url = 'https://api.liqiang365.com/sms/send?account='+shouji+'&sendCodeType=1&code='+img_text+'&codeKey='+cookie_brsy_pic_code+'&share_tag=3'
    req = request.Request(url, data='{"params":{}}'.encode('utf8'), headers=headers)
    response = opener.open(req)
    return response.read().decode('utf8')


ii = 0


def sb365():
    img_text, cookie_brsy_pic_code = get_img()
    sb365 = post(img_text, cookie_brsy_pic_code)
    if '40000' in sb365:
        global ii
        ii += 1
        print('成功注册' + str(ii), '个')
    else:
        print('注册失败' + sb365)


if __name__ == '__main__':
    while True:
        for i in range(8):
            t = threading.Thread(target=sb365)
            t.start()
            t.join()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值