大衆點評最新字體解密19年7月

我的原文博客在此、
https://www.zhangkunzhi.com/?p=72

有網友說我之前寫的 大衆點評字體解密 的方法已經失效了,所以更新一篇解密 2019年7月25日。

查看加密

圖片

看到都是小框框,爲了一探究竟我們查看源碼找到加密處

圖片

所有文字都是  > 這樣的怪符號。一臉懵逼,這和之前點評網站的字體反爬完全不同了。

查看頁面代碼

圖片
經過一番查找, 發現了兩個個至關重要的信息

  1. 關鍵 CSS 文件, 裏邊包含了字體文件,用於通過神祕代碼映射出真正文字。
  2. 加密處標籤 clss='address' 這裏的class值就是,使用的哪個指定的字體庫。

打開 CSS

圖片
裏邊就有字體文件 .woff 我們下載這個字體文件

打開 woff 文件

這裏我們利用工具 http://fontstore.baidu.com/static/editor/index.html

打開字庫文件

圖片

經過對比發現,可以通過頁面上加密的神祕代碼和字體庫中紅色方框中代碼進行匹配
圖片

用 python 獲取 woff 的內容

pip3 install fontTools

這個庫可以將 woff 文件轉換爲 xml 文件,並讀取

from fontTools.ttLib import TTFont

font = TTFont('字庫.woff')
font.saveXML('test.xml')  # 將 woff 寫爲 xml 文件從而就可以對 xml 文件進行操作了

Redis Hash 儲存字庫

美團這套字體庫是會隨機更新的,所以我們需要寫一套通用代碼出來自動匹配!

解決方案:

我做了一套 Redis Hash儲存,將字庫同步到redis中,如果出現新字庫就會自動提取到redis中, 如果字庫是舊的,那麼直接從舊字庫取出對應值。

hash 的 key 爲字庫名, 值爲字庫映射表

毫秒級響應超快速度將加密的神祕代碼轉換爲正常字符

調用案例

  1. 在實例化對象的時候配置 redis (默認已經配置的本機redis)
  2. 填入數據頁面中 含有字體鏈接的css文件路徑
  3. 調用解析神祕代碼即可

圖片
圖片
圖片

奉上代碼

歡迎 Star 與關注,會不斷更新其他站點的解密、教程等

GitHub代碼

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章