跪问,关于字体反爬的一个问题。

2020-06-23 21:30:47 +08:00
 Mnzz0785
语言:python
现在已经使用 fonttools 将 ttf 文件保存成了 xml 。字体的对应字典也已经提取完成。

经过 request 包抓取,lxml.etree xpath 提取后有如下信息:
['\ue700', '满意', '\ue684', '就是它的外', '\ue9c2', '设计', '\ue71f', '的非常的漂', '\ueeae', ',最抢眼的地方我觉得是', '\uef66', '头的', '\ue020', '型,', '\ue75e', '常凌厉动感。大灯', '\uee5f', '是非常的好', '\ue70b', '。内', '\ue970', '方面', '\ue75e', '常的', '\uee0d', '错']
['\ue700', '不满意的就', '\ue62f', '它的音质方', '\ue762', '。听起来并', '\uee0d', '是那么的舒', '\ue002', ',还有座椅方面我', '\ue11f', '觉并', '\uee0d', '是那么的舒服行驶', '\ue684', '时间长了坐', '\ue728', '上面会感觉', '\ue170', '酸背痛']

因为字体字典中键值对的属性是 16 进制:unicode 编码

现在我遍历这个 list 里面的\uxxx 无法进行操作,打印为乱码,type 之后发现是 lxml.etree._ElementUnicodeResult.

我需要对\uxxx 进行替换或者切片变为字体字典中对应的键来进行替换。但是试了很多种办法都没用。

请问是我的思路错了还是技术太差,希望有大佬能指点一下。查阅了很多资料,也没有找到答案。

如有大佬愿意有偿教学也可私
2688 次点击
所在节点    Python
3 条回复
favourstreet
2020-06-23 21:58:40 +08:00
Naïve !当然是思路错了而且技术太差两个都有!我猜楼主完全没有明白如何应对这种字体映射。提示:你需要的不是 Unicode→GlyphID 的映射,而是 Unicode→Unicode 的映射
aeshfawre
2020-06-23 23:22:04 +08:00
就是你说的\u 替换, 我这边也替换过,
no1xsyzy
2020-06-23 23:27:43 +08:00
我估计你 len 一下就知道什么情况了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/684269

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX