爬蟲反反爬(字體反爬)


 

反爬

網上網頁的反爬手段千奇百怪,常見的有ip封鎖,動態加載數據,鏈接加密,驗證碼登錄等等,最近碰到一個之前沒見到過的反爬手段:字體反爬。情況如圖:
在這里插入圖片描述
箭頭所示的標簽為同一個數據。可以清楚的看到頁面上的日期與源碼中的日期不一致。這就是字體反爬,下載頁面中的字體文件通過百度的字體編輯器可以看到數字的對應關系。
在這里插入圖片描述

fonttools

fonttools為python的一個第三方庫,可以使用該庫打開並讀取字體文件。
通過pip安裝

pip install fonttools

下載字體文件

可以從網頁源碼中獲取字體文件的下載地址,將其下載到本地后使用代碼打開並讀取所需信息

from fontTools.ttLib import TTFont

Font = TTFont('tyc-num.woff') # 加載字體文件
code = {}
for i in range(10):
    try:
        uni_list = Font.getGlyphID(str(i))
        code[str(i)] = str(uni_list - 2) #生成對應編碼表
    except:
        pass
str1 = '6451-55-47'
new_str = ''
for i in str1:
    if i =="-":
        new_str += '-'
    try:
        if i in code.keys():
            new_str += code[i]
    except:
        pass
print(new_str)

運行代碼,即可得到對應的真正日期。
在這里插入圖片描述

該代碼只作為筆者學習之用。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM