您的位置:首页 > Web前端 > JavaScript

js分析 天_眼_查 字体文件

2018-05-14 17:35 357 查看

0. 参考

js分析 猫_眼_电_影 字体文件 @font-face

1. 分析

1.1 定位目标元素

import requests
from scrapy import Selector

from fontTools.ttLib import TTFont

url = 'https://www.tianyancha.com/company/59837300?'
ocr = """
.01234689愿功近西真差全当表华
心八姐六防金步夫尚放很子变提便司依密林住
诸职建保快左亦节特势善她气国族朝叫甚合论
选船三起况员些突觉拿共没边条刘奇先口约最
着立德留治根降且马手大去细无増问物联同害
找连父待加母礼受之张方价臣识考足看似始也
维九终业满思帝及声望干黄动房右到属府绝跟
许云际收火二历回营得设数苦目易体那切年查
字安研容资社品江为破罗把吗笑土另听片客本
代产走布已告喜虽若省算企置影书形未复东四
求任孩再高失极自现点比谓花级河师罪案黑直
争革乎由程响英费反像红应注将视决面别美达
示县计宗清开春威克台护天度飞路分京次学就
质五守做平何间轻重击才队即包敢会卫致装这
儿关欲说消新系围亲参供写亚改道城团地件敌
量必干答陈较精周相
""".replace('\n', '')
print(len(ocr))

font = TTFont('tyc-num_1.woff')
cmap = font['cmap']
cmap_dict = cmap.getBestCmap()
print(len(cmap_dict))
glyf_list = list(font['glyf'].keys())
print(len(glyf_list))

mydict = dict((k, v.strip()) for k, v in zip(glyf_list, ocr))
print(mydict)

r = requests.get(url, headers={'User-Agent': 'Mozilla/5.0'})
print(r.status_code, len(r.content))
sel = Selector(text=r.text)

# text = '45619.888888万红元 6887-82-60'
#         15298.000000万美元 2007-03-26
for text in sel.css('.tyc-num::text').extract():
result = []
for t in text:
code = ord(t)                       #红:32418
name = cmap_dict.get(code, None)    #_#228
if name is not None:
# index = glyf_list.index(name)   #238
# rst = ocr[index]                #美
rst = mydict.get(name, t)
else:
rst = t
result.append(rst)
print(text, ' >>> ', ''.join(result))
print('#'*10)
View Code  

6.运行结果 

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: