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

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

[复制链接]

该用户从未签到

3

主题

62

帖子

204

积分

荣誉开发者

Rank: 10Rank: 10Rank: 10

积分
204
发表于 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

image.png
image.png
image.png
编程真的会上瘾

该用户从未签到

3

主题

62

帖子

204

积分

荣誉开发者

Rank: 10Rank: 10Rank: 10

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

使用道具 举报

  • TA的每日心情
    无聊
    2022-4-18 01:37
  • 签到天数: 30 天

    [LV.5]常住居民I

    302

    主题

    2582

    帖子

    2650

    积分

    荣誉开发者

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

    Rank: 10Rank: 10Rank: 10

    积分
    2650

    猫咪币纪念章

    发表于 2022-4-27 01:23:40 | 显示全部楼层
    也有一点束手无计。。。
    看字体大小像是根据题目开动态生成的内联style
    实在太小了。。。
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

    该用户从未签到

    3

    主题

    62

    帖子

    204

    积分

    荣誉开发者

    Rank: 10Rank: 10Rank: 10

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

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

    使用道具 举报

  • TA的每日心情
    慵懒
    3 天前
  • 签到天数: 43 天

    [LV.5]常住居民I

    128

    主题

    1662

    帖子

    1866

    积分

    管理员

    Rank: 10Rank: 10Rank: 10

    积分
    1866

    猫咪币纪念章热心会员活跃会员突出贡献三好学生中秋纪念章国庆纪念章

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

    使用道具 举报

    该用户从未签到

    3

    主题

    62

    帖子

    204

    积分

    荣誉开发者

    Rank: 10Rank: 10Rank: 10

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

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

    使用道具 举报

  • TA的每日心情
    慵懒
    3 天前
  • 签到天数: 43 天

    [LV.5]常住居民I

    128

    主题

    1662

    帖子

    1866

    积分

    管理员

    Rank: 10Rank: 10Rank: 10

    积分
    1866

    猫咪币纪念章热心会员活跃会员突出贡献三好学生中秋纪念章国庆纪念章

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

    嗯 找到了

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

    使用道具 举报

  • TA的每日心情
    慵懒
    3 天前
  • 签到天数: 43 天

    [LV.5]常住居民I

    128

    主题

    1662

    帖子

    1866

    积分

    管理员

    Rank: 10Rank: 10Rank: 10

    积分
    1866

    猫咪币纪念章热心会员活跃会员突出贡献三好学生中秋纪念章国庆纪念章

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

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

    使用道具 举报

    该用户从未签到

    3

    主题

    62

    帖子

    204

    积分

    荣誉开发者

    Rank: 10Rank: 10Rank: 10

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

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

    使用道具 举报

  • TA的每日心情
    慵懒
    3 天前
  • 签到天数: 43 天

    [LV.5]常住居民I

    128

    主题

    1662

    帖子

    1866

    积分

    管理员

    Rank: 10Rank: 10Rank: 10

    积分
    1866

    猫咪币纪念章热心会员活跃会员突出贡献三好学生中秋纪念章国庆纪念章

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

    使用道具 举报

    发表回复

    本版积分规则

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