diff --git a/2023/07/04/zhihu-aac-old/index.html b/2023/07/04/zhihu-aac-old/index.html index 73ee582..142ae88 100644 --- a/2023/07/04/zhihu-aac-old/index.html +++ b/2023/07/04/zhihu-aac-old/index.html @@ -16,12 +16,12 @@ - + - + @@ -30,11 +30,10 @@ - + - @@ -318,7 +317,7 @@

我们发现字形的 Glyph 为 uni662F 而 Unicode 为65F6,接下来我们试着查询这两个十六进制数对应的字:

1
2
3
4
glyph = "\u662F"
unicode = "\u65F6"
print(glyph, unicode)
# output: 是 时
-

正好,上文提到,「是」在源码中被替换为了「时」。知乎在反爬字体中保留了原字与新字的对应关系,为我们提供了一个极为便捷的捷径,避免了对字形笔画的具体分析,这也是其字体反爬系统的致命缺陷。

+

正好,上文提到,「是」在源码中被替换为了「时」。知乎在反爬字体中保留了原字与新字的对应关系,为我们提供了一个极为便捷的捷径,避免了对字形笔画的具体分析,这也是其字体反爬系统的致命缺陷,各位在自己的网站运用字体反爬时也要注意这一点。

至此,字形的特征与对应关系都被我们分析出了,接下来我们将编写程序从字体中提取对应关系。

四、提取对应关系

要提取各个字间的对应关系,首先我们需要安装 fontTools [4]

1
pip install fonttools
@@ -363,8 +362,6 @@