某车之家字体反爬一(单页面)


01
准备开始喽!
今天就来记录一下破解汽车之家的字体反爬
主要是自定义字体: @font-face是CSS3中的一个模块,主要是实现将自定义的Web字体嵌入到指定网页中去
完整代码在末尾

02
分析页面
首先我们看一下页面显示, 全都是””

在查看下源码, 显示的是””

很明显的字体反爬, 接下来我们就一步步来揭开字体文件的神秘面纱

03
查看字体文件
首先将字体文件下载到本地
使用在线工具查看字体文件内容, 在线查看地址
打开看一下, 有没有很眼熟这个编码, 这不就是上面源码里的编码嘛


04
破解字体文件
使用fontTools来处理字体文件
1 | # 安装fonttools |
读取字体编码表
1 | # 解析字体库 |
输出(第一个是空白字符, 下面会切除掉)
1 | ['.notdef', 'uniEDD2', 'uniEC30', 'uniED71', 'uniECBD', 'uniED0F', 'uniEC5C', 'uniED9C', 'uniEDEE', 'uniED3B', 'uniED8D', 'uniECD9', 'uniEC26', 'uniEC78', 'uniEDB8', 'uniED05', 'uniED57', 'uniECA3', 'uniECF5', 'uniEC42', 'uniED82', 'uniEDD4', 'uniED21', 'uniEC6D', 'uniECBF', 'uniEE00', 'uniEC5D', 'uniED9E', 'uniECEB', 'uniED3C', 'uniEC89', 'uniEDCA', 'uniEC27', 'uniED68', 'uniEDBA', 'uniED06', 'uniEC53', 'uniECA5', 'uniEDE5'] |

05
制作编码字体映射表
必备条件
需要先手写一个文字的列表(就是不知道怎么自动获取这个列表, 待解决)
1 | word_list = [ |

06
替换源码编码 提取数据
这里使用的是先替换源码, 在提取内容
1 | # 请求内容 |
输出, 字体破解成功
1 | 上个礼拜六碳罐索赔成功,更换时一直在傍边,将整个后桥拆掉,然后更换。换完后回家发现后边排气管有“突突”声,没换之前没有。正常吗? |

07
本页源码
1 | # -*- coding: utf-8 -*- |

08
后续
到这里本以为就已经结束了, 却发现, 这个爬虫只能在这一页使用, 再换一页还是输出乱码
动态字体文件破解, 请查看下一篇
扫描二维码
获取更多精彩
不止于python

作者:
胖胖不胖
版权声明:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 不止于python
感谢您的支持,我会继续努力!
微信支付
支付宝