猫眼字体识别
该 github repo 在于帮助xjtlu的同学们识别猫眼的扭曲字体。已经打包上传至 pypi ,可以使用 pip 直接安装。
猫眼字体的识别不出来的原理与解决思路在采茶上
使用方法:
import MaoYanFontRecognize
m = MaoYanFontRecognize.MaoYanFont()
rate, rate_num, money = m.translate(rate_raw, rate_num_raw, font_file, money_raw= -1, money_unit=1)
更细致的使用方式请看test。
请注意,每一个电影的详情页的字体都是猫眼特殊生成的。也就是说,每次刷新之后的字体文件都是不一样的。所以要把每一个详情页中的字体文件同时下载下来,当成参数font_file使用。
参数解释:
返回值:
rate: 猫眼评分rate_num: 猫眼评分人数money: 票房,元人民币为单位,如果是美元会按照 2021/10/26 日汇率进行计算。money_unit: 票房的单位,只有 3 种单位- 万: 1e4,
- 亿: 1e8,
- 万美元: 63900
输入值:
-
rate_raw: 未经处理的猫眼评分,从猫眼上直接爬下来的数据,放进bs4之后的tag里的contents,下面代码是实例,以下的几个属性都差不多:spans = soup("span", class_="stonefont") rate_raw = spans[0].contents[0] rate_num_raw = spans[1].contents[0] money_raw = spans[2].contents[0]
-
rate_num_raw: 未经处理的评分人数, -
font_file: 每一个电影的详情页都会有一个新生成的字体,这个属性需要这个字体文件的io.BytesIO()的形式,建议通过网页上的详情把字体下载下来再传进来。 -
money_raw: 未经处理的票房, -
money_unit: 票房单位。
测试
测试结果:
输出: 2 extra bytes in post.stringData array,是TTFont库造成的,不会影响正常使用。
