从上篇文章中我们得到的规律进行分析。
from fontTools.ttLib import TTFont
ocr = '5810427369'
font1 = TTFont(r'D:\PycharmProjects\untitled\爬虫\3e983e35f4c5ff7f92fe911dd2273ca52280.woff') # 打开本地字体文件.woff
obj_list1 = font1.getGlyphNames()[1:-1] # 获取所有字符的对象,去除第一个和最后一个
uni_list1 = font1.getGlyphOrder()[2:] # 获取所有编码,去除前2个
ocr_dict = dict((k, v) for k, v in zip(uni_list1, ocr))
for code, name in ocr_dict.items():
print(code, name)
# 手动确认编码和数字之间的对应关系,保存到字典中
font2 = TTFont(r'D:\PycharmProjects\untitled\爬虫\87ecd1ab347b1c9e14b52b83a04f5a872288.woff') # 打开访问网页新获得的字体文件02.ttf
obj_list2 = font2.getGlyphNames()[1:-1]
uni_list2 = font2.getGlyphOrder()[2:]
b = []
c = []
for uni1, code in zip(uni_list1, ocr):
obj1 = font1['glyf'][uni1] # 获取编码uni1在.woff中对应的对象
b.append(code)
c.append(obj1.coordinates)
a5 = 0
a8 = 0
a1 = 0
a2 = 0
a3 = 0
a4 = 0
a6 = 0
a7 = 0
a9 &