上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖

关于超星最近题目乱码繁体字的解决方案

[复制链接]

该用户从未签到

5

主题

104

回帖

261

积分

荣誉开发者

积分
261

荣誉开发者生态建设者喜迎中秋

发表于 2022-4-27 00:46:45 | 显示全部楼层 | 阅读模式

本帖最后由 enncy 于 2022-5-12 18:20 编辑

本帖最后由 enncy 于 2022-5-7 17:22 编辑

这次确实有点东西的,通过自定义字体文件 @font-face,然后加 font-cxsecret css类到每个文本元素,吧原本文档的乱码字体显示成正常字体。用户看到的就是正常字体但是源码里面是乱码。


这里给两个解决思路

  1. 网上各种加密解密,这里本人技术问题看不懂所以不多说。
  2. 通过 dom-to-image 获取元素的base64图片,通过 tesseract 文字识别图片文本 。

开放 API

这里开放一个API给大家用,直接调用即可破解繁体字乱码, 具体API详情请看文档: https://enncy.github.io/online-course-script/api#ocr

以下是demo例子

<html>
    <head>
        <script src="https://unpkg.com/tesseract.js@2.1.0/dist/tesseract.min.js"></script>
        <script src="https://cdn.jsdelivr.net/npm/dom-to-image@2.6.0/src/dom-to-image.min.js"></script>
    </head>
    <body>
        <!-- 加点内边距,不然只能显示半边的字体 -->
        <div style="padding: 4px;">
            hello world
        </div>
    </body>
</html>
const { createWorker } = Tesseract;

const worker = createWorker();

// 这里是加载网络的ocr数据,可能需要梯子才能访问,可以看我开放API中的具体说明
await worker.load();
// 加载语言
await worker.loadLanguage('eng');
await worker.initialize('eng');
// 元素
const el = document.querySelector('div')
// 图片 base64
const pngBase64 = await domtoimage.toPng(el);
const { data: { text } } = await worker.recognize(pngBase64);
console.log(text);
// 结束
await worker.terminate();

输出结果

image.png

虽然中文识别有些困难。。。

// 加载语言
await worker.loadLanguage('chi_sim');
await worker.initialize('chi_sim');

image.png

但是在给文本加了一点间隔后 letter-spacing 识别效果明显变好,还可以增加字体大小

image.png

输出

image.png

编程真的会上瘾

该用户从未签到

5

主题

104

回帖

261

积分

荣誉开发者

积分
261

荣誉开发者生态建设者喜迎中秋

发表于 2022-4-27 01:04:10 | 显示全部楼层
有大佬还有其他方法吗
编程真的会上瘾
回复

使用道具 举报

  • TA的每日心情
    开心
    2023-2-28 23:59
  • 签到天数: 191 天

    [LV.7]常住居民III

    632

    主题

    5170

    回帖

    6048

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6048

    荣誉开发者管理员油中2周年生态建设者喜迎中秋

    发表于 2022-4-27 01:23:40 | 显示全部楼层
    也有一点束手无计。。。
    看字体大小像是根据题目开动态生成的内联style
    实在太小了。。。
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

    该用户从未签到

    5

    主题

    104

    回帖

    261

    积分

    荣誉开发者

    积分
    261

    荣誉开发者生态建设者喜迎中秋

    发表于 2022-4-27 09:26:25 | 显示全部楼层
    李恒道 发表于 2022-4-27 01:23
    也有一点束手无计。。。
    看字体大小像是根据题目开动态生成的内联style
    实在太小了。。。 ...

    有办法了。 https://github.com/tsayen/dom-to-image 加  tesseract ocr
    编程真的会上瘾
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-3-13 10:14
  • 签到天数: 211 天

    [LV.7]常住居民III

    290

    主题

    3875

    回帖

    3794

    积分

    管理员

    积分
    3794

    管理员荣誉开发者油中2周年生态建设者喜迎中秋油中3周年挑战者 lv2

    发表于 2022-4-27 10:09:53 | 显示全部楼层
    上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。/ 微信公众号:一之哥哥
    回复

    使用道具 举报

    该用户从未签到

    5

    主题

    104

    回帖

    261

    积分

    荣誉开发者

    积分
    261

    荣誉开发者生态建设者喜迎中秋

    发表于 2022-4-27 10:11:25 | 显示全部楼层

    有浏览器端的,这个跑完也就几秒而已 🤣
    编程真的会上瘾
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-3-13 10:14
  • 签到天数: 211 天

    [LV.7]常住居民III

    290

    主题

    3875

    回帖

    3794

    积分

    管理员

    积分
    3794

    管理员荣誉开发者油中2周年生态建设者喜迎中秋油中3周年挑战者 lv2

    发表于 2022-4-27 10:11:43 | 显示全部楼层
    enncy 发表于 2022-4-27 10:11
    有浏览器端的,这个跑完也就几秒而已 🤣

    嗯 找到了

    https://tesseract.projectnaptha.com/
    上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。/ 微信公众号:一之哥哥
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-3-13 10:14
  • 签到天数: 211 天

    [LV.7]常住居民III

    290

    主题

    3875

    回帖

    3794

    积分

    管理员

    积分
    3794

    管理员荣誉开发者油中2周年生态建设者喜迎中秋油中3周年挑战者 lv2

    发表于 2022-4-27 10:12:16 | 显示全部楼层
    enncy 发表于 2022-4-27 10:11
    有浏览器端的,这个跑完也就几秒而已 🤣

    哥哥住论坛么,才发完想编辑就回复了
    上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。/ 微信公众号:一之哥哥
    回复

    使用道具 举报

    该用户从未签到

    5

    主题

    104

    回帖

    261

    积分

    荣誉开发者

    积分
    261

    荣誉开发者生态建设者喜迎中秋

    发表于 2022-4-27 10:13:20 | 显示全部楼层
    王一之 发表于 2022-4-27 10:12
    哥哥住论坛么,才发完想编辑就回复了

    没, 想打开看看就看到回复了  😂
    编程真的会上瘾
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-3-13 10:14
  • 签到天数: 211 天

    [LV.7]常住居民III

    290

    主题

    3875

    回帖

    3794

    积分

    管理员

    积分
    3794

    管理员荣誉开发者油中2周年生态建设者喜迎中秋油中3周年挑战者 lv2

    发表于 2022-4-27 10:15:45 | 显示全部楼层
    这个ocr效果好像不是很好,查题命中率大大降低
    上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。/ 微信公众号:一之哥哥
    回复

    使用道具 举报

    发表回复

    本版积分规则

    快速回复 返回顶部 返回列表