猫眼的数字解密
话不多说,直接干货走起: 看到了吗?字体加密了。那就找。。定位到加密字体的地方,然后看右边的styles,你是不是看到了与字体相关的名字—font-family,就是他,复制他然后源码里面全局搜索,你会看到如下东西: woff?就是这个字体文件。正则拿下来,接下来是正题 # 获取源码里面的字体加密源码 base_str = re.findall(r " base64,(.*?)\) " ,response.text)[0] 将base64编码的字体字符串解码成为二进制格式,写成.woff文件,再通过BytesIO 把一个二进制内存块当成一个文件来操作 def make_font_file(base64_string: str): # 将base64编码的字体字符串解码成为二进制格式 bin_data = base64.decodebytes(base64_string.encode()) with open( ' testotf.woff ' , ' wb ' ) as f: f.write(bin_data) return bin_data def convert_font_to_xml(bin_data): # BytesIO把一个二进制内存块当成一个文件来操作 font = TTFont(BytesIO(bin_data)) # 将解码字体保存为xml font