Python爬蟲 字型反爬

2021-10-02 03:33:49 字數 809 閱讀 2517

網頁開發者自己創造一種字型,因為在字型中每個文字都有其代號,那麼以後在網頁中不會直接顯示這個文字的最終的效果,而是顯示他的代號,因此即使獲取到了網頁中的文字內容,也只是獲取到文字的代號,而不是文字本身。

因為創造字型費時費力,並且如果把中國3000多常用漢字都實現,那麼這個字型將達到幾十兆,也會影響網頁的載入。一般情況下為了反爬蟲,僅會針對0-9以及少數漢字進行自己單獨建立,其他的還是使用使用者系統中自帶的字型。

一、尋找字型

1.一般情況下為了考慮網頁渲染效能,通常網頁開發者會把字型編碼成base64的方式,因此我們可以到網頁中找到@font-face屬性,然後獲取裡面的base64**,再用python**進行解碼,然後再儲存本地。

2. 如果沒有使用base64,還有另外一種方式,就是直接把字型檔案放到伺服器上,然後前端通過@font-face中的url函式進行載入。

二、根據對映關係獲取真實內容

在網頁中,直接顯示的是字型的code,而不是name。並且網頁開發者為了增加爬蟲的難度,有可能在多次請求之間code->name->最終字型的對映會發生改變。但是最終字型的形狀是不會改變的,因此我們可以通過形狀對比來進行判斷。

我們可以通過分析字型,得出每個字型形狀對應的文字,然後儲存到乙個字典中。以後再請求網頁的時候,就進行反向解析,先獲取字型的形狀,再通過字型形狀反向獲取代號所對應的具體文字內容。

python爬蟲反爬 爬蟲怎麼測試反爬?

有沒有反爬,如果你沒有用爬蟲抓取過,你是不可能知道的。就算要測試,你還要嘗試不同的delay。如果設定的 delay 在 的反爬頻率外,那就測不出來。如果在頻率內,那就被封。或者封ip,或者封賬號。如果一定要測出來,就簡單粗暴的方法,你不要設定delay,就不間斷的抓,最後出現兩種情況,1 有反爬,...

python爬京東 反爬 爬蟲怎麼測試反爬?

有沒有反爬,如果你沒有用爬蟲抓取過,你是不可能知道的。就算要測試,你還要嘗試不同的delay。如果設定的 delay 在 的反爬頻率外,那就測不出來。如果在頻率內,那就被封。或者封ip,或者封賬號。如果一定要測出來,就簡單粗暴的方法,你不要設定delay,就不間斷的抓,最後出現兩種情況,1 有反爬,...

Python爬蟲 字型反爬 貓眼國內票房榜

偶然間知道到了字型反爬這個東西,所以決定了解一下.目標 問題 類似下圖中的票房數字無法獲取,直接複製貼上的話會顯示 等無法識別的字元,且網頁原始碼中該類數字均被 之類的字串代替.解決 出現這種情況的原因是因為網頁字型是在 css3 font face 規則中定義的,我覺得這種字型就類似描點連線那種方...