中文字体反爬,易易易易易易【Python脱敏】车车车车车车车车

@

⛳️ 易 实战场景 车

本次字体反爬案例对应的是【易车】点评频道,该站点使用了字体反爬技术,并且是中文字符反爬,可以重点研究下。

[En]

This font anti-crawling case corresponds to the [easy car] comment channel, the site uses the font anti-crawling technology, and is the Chinese character anti-crawling, you can focus on the next.

站点地址如下所示(全角字符)

https://dianping.yiche.com/

打开目标站点任意链接之后,可以通过开发者工具发现,其文字部分存在大量的混淆字符。

[En]

After opening any link to the target site, you can find that there are a large number of confused characters in the text part of the target site through the developer’s tools.

中文字体反爬,易易易易易易【Python脱敏】车车车车车车车车
既然已经发现了字体混淆,那接下来我们再夯实一下字符矢量图相关知识,下载易车的一个字体文件。
[En]

Now that font confusion has been found, let’s tamp down the relevant knowledge of character vector graphics and download a font file that changes cars.

中文字体反爬,易易易易易易【Python脱敏】车车车车车车车车
字体文件是通过 unicode 编码,然后对应字体文件。
浏览器实现原理是通过传递字符的字节码,转换成 unicode 编号,然后在字体文件中找到字体矢量图,如果没有字体文件,会在系统自带的字体中寻找矢量图。

上图中 uni6211 对应的就是汉字 的编码。

⛳️ 易 实战编码 车

有了多篇字体反爬的经验,我们很容易发现本次的目标站点使用了固定的字体文件,名称为 yc-ft.woff,其中包含了 473 个特殊汉字。

接下来只需要将字体文件编码和汉字的对一个关系读取出来即可。

from fontTools.ttLib import TTFont

font = TTFont('fonts/yc-ft.woff')
print(font)

font_map = font['cmap'].getBestCmap()
print(font_map)

网页响应的源码格式如下所示:

车也

其中  就是对应的字符,然后 e3d0 对应到字体矢量图中,对应的是 字。

中文字体反爬,易易易易易易【Python脱敏】车车车车车车车车

📢📢📢📢📢📢
💗 你正在阅读 【梦想橡皮擦】 的博客
👍 阅读完毕,可以点点小手赞一下
🌻 发现错误,直接评论区中指正吧
📆 橡皮擦的第 673 篇原创博客

从订购之日起,案例 5 年内保证更新

Original: https://www.cnblogs.com/happymeng/p/16347283.html
Author: 梦想橡皮擦
Title: 中文字体反爬,易易易易易易【Python脱敏】车车车车车车车车

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/116676/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

免费咨询
免费咨询
扫码关注
扫码关注
联系站长

站长Johngo!

大数据和算法重度研究者!

持续产出大数据、算法、LeetCode干货,以及业界好资源!

2022012703491714

微信来撩,免费咨询:xiaozhu_tec

分享本页
返回顶部