10 反爬的三種方法和解決方案

2021-10-07 18:19:12 字數 1474 閱讀 3618

headers中有很多字段,這些欄位都有可能會被對方伺服器拿過來進行判斷是否為爬蟲

2.1.1 通過headers中的user-agent欄位來反爬

2.1.2 通過referer欄位或者是其他欄位來反爬

2.1.3 通過cookie來反爬

請求引數的獲取方法有很多,向伺服器傳送請求,很多時候需要攜帶請求引數,通常伺服器端可以通過檢查請求引數是否正確來判斷是否為爬蟲

2.2.1 通過從html靜態檔案中獲取請求資料(github登入資料)

2.2.2 通過傳送請求獲取請求資料

2.2.3 通過js生成請求引數

2.2.4 通過驗證碼來反爬

爬蟲的行為與普通使用者有著明顯的區別,爬蟲的請求頻率與請求次數要遠高於普通使用者

3.1.1 通過請求ip/賬號單位時間內總請求數量進行反爬

解決方法:對應的通過購買高質量的ip的方式能夠解決問題/購買個多賬號

3.1.2 通過同一ip/賬號請求之間的間隔進行反爬

解決方法:請求之間進行隨機等待,模擬真實使用者操作,在新增時間間隔後,為了能夠高速獲取資料,盡量使用**池,如果是賬號,則將賬號請求之間設定隨機休眠

3.1.3 通過對請求ip/賬號每天請求次數設定閾值進行反爬

3.2.1 通過js實現跳轉來反爬

解決方法: 多次抓包獲取條狀url,分析規律

3.2.2 通過蜜罐(陷阱)獲取爬蟲ip(或者**ip),進行反爬

3.2.3 通過假資料反爬

3.2.4 阻塞任務佇列

3.2.5 阻塞網路io

解決方法: 觀察爬蟲執行狀態/多執行緒對請求執行緒計時/傳送請求錢

3.2.6 運維平台綜合審計

通常的特殊化處理主要指的就是css資料偏移/自定義字型/資料加密/資料/特殊編碼格式等

4.1.1 通過自定義字型來反爬

下原始碼來自貓眼電影電腦版

網頁顯示13142想看

對網頁資料直接滑鼠複製人想看

element

電腦版原始碼人想看

手機版原始碼25629人想看

4.1.2 通過css來反爬

原始碼來自去哪兒電腦版

電腦顯示為:520

205
4.1.3 通過js動態生成資料進行反爬

4.1.4 通過資料化反爬

4.1.5 通過編碼格式進行反爬

stricky footer的三種解決方案詳解

stricky footer設計是最古老和最常見的效果之一,我們都曾經歷過類似的情景 如果頁面內容不夠長的時候,頁尾塊貼上在底部 如果內容足夠長時,頁尾塊會被內容向下推送。這些天做vue express實戰的練習,跟著黃軼老師倒是認識了stricky footer,就認真的了解學習了一下,但是前兩天...

unity三種光源解決方案

一。unity三種解決方案 1.subtractive模式 動態物體 主光實時,環境光diffuse項lightprobe提供,高光項由reflectionprobe提供。陰影通過shadowmap提供。靜態物體產生在動態物體的陰影由lightprobe提供 靜態物體沒有高光,環境光diffuse項...

跨域的三種主流解決方案

jsonp jsonp實現原理 主要是利用動態建立script標籤請求後端介面位址,然後傳遞callback引數,後端接收callback,後端經過資料處理,返回callback函式呼叫的形式,callback中的引數就是json。前端 我在vue中主要是通過vue腳手架中的config中的inde...