美文网首页
字体反爬篇

字体反爬篇

作者: 一只酸柠檬精 | 来源:发表于2021-01-22 16:00 被阅读0次

一、总体思路

1、获取字体文件
2、base64解密文件分别保存为woff文件与xml文件
3、查看映射关系创建映射字典
4、通过映射字典,第二次获取响应时替换成实际数据

二、解析过程

image.png

1、获取字体文件

在开发者工具中查找"font-face",如图所示

image.png

获取到base64字符串并删除头部信息,在这里就是data:application/font-ttf;charset=utf-8;base64, 逗号也要删除,这样就获取到了字体信息,这一段密文就是加密后的字体文件

T1RUTwAJAIAAAwAQQ0ZGICGSe1oAAATUAAAEd09TLzJlNl+eAAABAAAAAGBjbWFwACoGOwAABAQAAACwaGVhZBf2b3IAAACcAAAANmhoZWEA3wBNAAAA1AAAACRobXR4B/AAAAAACUwAAAAkbWF4cAAJUAAAAAD4AAAABm5hbWUKXYQxAAABYAAAAqNwb3N0AAMAAAAABLQAAAAgAAEAAAABAACCl4DfXw889QADAQAAAAAA3DAYYwAAAADcMBhjAAf//wB4ALUAAAADAAIAAAAAAAAAAQAAAN3/xQAAAH4AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAkAAFAAAAkAAAADAH4B9AAFAAACigK7AAAAjAKKArsAAAHfADEBAgAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAACBYWFhYAEAATgBVAN3/xQAAALUAAQAAAAEAAAAAAG8AtQAAAAAAAAAAACIBngABAAAAAAAAAAEAQgABAAAAAAABAAwAAAABAAAAAAACAAYAJAABAAAAAAADABUAxgABAAAAAAAEABMANgABAAAAAAAFAAsApQABAAAAAAAGABIAbwABAAAAAAAHAAEAQgABAAAAAAAIAAEAQgABAAAAAAAJAAEAQgABAAAAAAAKAAEAQgABAAAAAAALAAEAQgABAAAAAAAMAAEAQgABAAAAAAANAAEAQgABAAAAAAAOAAEAQgABAAAAAAAQAAwAAAABAAAAAAARAAYAJAADAAEECQAAAAIAYQADAAEECQABABgADAADAAEECQACAAwAKgADAAEECQADACoA2wADAAEECQAEACYASQADAAEECQAFABYAsAADAAEECQAGACQAgQADAAEECQAHAAIAYQADAAEECQAIAAIAYQADAAEECQAJAAIAYQADAAEECQAKAAIAYQADAAEECQALAAIAYQADAAEECQAMAAIAYQADAAEECQANAAIAYQADAAEECQAOAAIAYQADAAEECQAQABgADAADAAEECQARAAwAKk9wZW5UeXBlU2FucwBPAHAAZQBuAFQAeQBwAGUAUwBhAG4Ac01lZGl1bQBNAGUAZABpAHUAbU9wZW5UeXBlU2FucyBNZWRpdW0ATwBwAGUAbgBUAHkAcABlAFMAYQBuAHMAIABNAGUAZABpAHUAbU9wZW5UeXBlU2Fuc01lZGl1bQBPAHAA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

进行base64解码(为什么是bs64呢,因为font-face中标明了是base64)并分别保存为woff文件与xml文件

 # base64解密
    font_content = base64.b64decode(base64_str)
    # TTFont打开从内存读取的二进制woff数据
    font = TTFont(io.BytesIO(font_content))
    # 将woff文件转换为xml文件
    font.save('ts.woff')
    font.saveXML('ts.xml')

使用Fontcreator打开woff文件,就可以看到字形与实际字体的对应关系,也就是映射

image.png

这就知道了结果,然后打开xml文件,通过结果查找映射关系就事半功倍了。

image.png

至于创建映射字典和替换数据都是体力活了,就不一一介绍了。

其他内容

将base64格式的字体信息解码成可用的字体文件

相关文章

  • 字体反爬篇

    一、总体思路 1、获取字体文件2、base64解密文件分别保存为woff文件与xml文件3、查看映射关系创建映射字...

  • Python爬取猫眼电影:破解字体反爬

    字体反爬 字体反爬也就是自定义字体反爬,通过调用自定义的字体文件来渲染网页中的文字,而网页中的文字不再是文字,而是...

  • Python爬虫实例:爬取猫眼电影——破解字体反爬

    字体反爬 字体反爬也就是自定义字体反爬,通过调用自定义的字体文件来渲染网页中的文字,而网页中的文字不再是文字,而是...

  • Python爬虫杂记 - 字体文件反爬(二)

    字体文件反爬 在搞定静态字库反爬之后, 可以解决部分字体文件的反爬, 但动态字文件反爬是解决不掉的。此文章就是为解...

  • Python爬虫——学习字体反爬获取某招聘信息

    网站的反爬措施有很多,例如:js反爬、ip反爬、css反爬、字体反爬、验证码反爬、滑动点击类验证反爬等等,今天我们...

  • 保姆级反爬教学,JS逆向实现字体反爬

    大家好,我是查理~网站的反爬措施有很多,例如:js反爬、ip反爬、css反爬、字体反爬、验证码反爬、滑动点击类验证...

  • 字体反爬

    打开 目标网站,目的是获取图片中的数据 分析可知,除了评论数在html文档中,其他数据都可以从模拟发送ajax请求...

  • 字体反爬之58同城求职简历数据抓取

    一直想写一篇关于字体反爬的文章,但是由于时间问题一直拖到现在,字体反爬的网站有很多比如猫眼电影专业版、汽车之家、5...

  • 猫眼电影评分爬取(字体反爬)

    最近从大佬那里听说了许多新知识,其中之一就是这个字体反爬。字体反爬是目前比较新的反爬技术,通过将网页中的一些关键信...

  • 关于字体反爬

    难度一:简单的编码替换字体。 解决方法:做成映射表即可难度二:编码替换字体+编码随机。 解决方法:逐个比对x、y、...

网友评论

      本文标题:字体反爬篇

      本文链接:https://www.haomeiwen.com/subject/glnszktx.html