python学习T字体加密分析

本文探讨了如何通过观察和分析学习T平台的字体加密机制,提出两种思路:一是建立加密字体与原始字体的映射,二是利用图像识别技术绕过加密。着重讲述了尝试过程中的困难和可能的原因,包括字体库多样性及可能的修改。

前言:本篇仅作为技术交流分析学习T字体加密的方式,给爬虫爱好者们提供一些思路。

如果你想要爬取学习T的作业题可以看这篇:python爬虫笔记(学习T)_星空的你的博客-优快云博客

首先:经过我的观察学习T并非所有页面都有字体加密,有加密的页面一般为作业和章节测试,并且当提交完作业或测试后,字体加密会消失,加密的方式为随机选择文字进行加密。

特点:被加密的页面必有base64编码,直接在页面源码中搜索base64(base64后面的一大长串就是加密字体的映射文件,直接复制在浏览器放入url中回车下载)即可。但有时侯不会出现字体加密很奇怪,判断是否有加密的方法很简单直接复制题目,粘贴到文本中看文字就知道了。

补充:学习T采用iframe嵌套的方式将内容嵌套进网页,使用selenium爬取时需要注意,一般我们爬取的页面需要进入3层iframe,但有的页面就两层iframe或一层,导致如果把方法写死运行会一直报错,如果你想爬取所有页面必须进行try:expect。

思路一:建立映射

可以在python中定义一个方法,将base64解码成xml文件,用到的库自行下载

from fontTools.ttLib import TTFont, BytesIO
def make_font_file(base64_string,):
    bin_data = base64.decodebytes(base64_string.encode())
    font = TTFont(BytesIO(bin_data))
   
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值