秒杀所有字体反爬

1,首先安装Python类库

安装支持Python版本的Tesseract库:安装方式如下:

pip install pytesseract

2,安装Tesseract-OCR
下载地址:https://digi.bib.uni-mannheim.de/tesseract/
3,3,设置环境变量。

需要添加俩个环境变量

1,path中添加C:\ProgramFiles(x86)\Tesseract-OCR(安装路径)

2,新建一个TESSDATA_PREFIX变量C:\ProgramFiles(x86)\Tesseract-OCR\tessdata

3,在pytesseract源码中将tesseract_cmd修改为:

tesseract_cmd=r’C:\ProgramFiles(x86)\Tesseract-OCR\tesseract.exe’

import numpy
import pytesseract
from PIL import Image, ImageDraw, ImageFont
from fontTools.ttLib import TTFont


def fontConvert(fontPath):     #将web下载的字体文件解析,返回其编码和汉字的对应关系
    font = TTFont(fontPath)  # 打开文件
    codeList = font.getGlyphOrder()[2:]
    print(codeList)
    im = Image.new("RGB", (1800, 1000), (255, 255, 255))
    dr = ImageDraw.Draw(im)
    font = ImageFont.truetype(fontPath, 40)
    count = 3
    arrayList = numpy.array_split(codeList, count)   #将列表切分成15份,以便于在图片上分行显示
    print(arrayList)
    for t in range(count):
        newList = [i.replace("uni", "\\u") for i in arrayList[t]]
        text = "".join(newList)
        text = text.encode('utf-8').decode('unicode_escape')
        dr.text((0, 50 * t), text, font=font, fill="#000000")
    im.save("sss.jpg")
    # im = Image.open("sss.jpg")      #可以将图片保存到本地,以便于手动打开图片查看
    result = pytesseract.image_to_string(im, lang="chi_sim")
    result = result.replace(" ", "").replace("\n", "")
    codeList = [i.replace("uni", "&#x") for i in codeList]
    return dict(zip(codeList, list(result)))

if __name__ == '__main__':
    filepath = '1.woff'
    print(fontConvert(filepath))
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱笑的光头强

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值