【python】——爬虫05 初级反爬笔记
生活随笔
收集整理的這篇文章主要介紹了
【python】——爬虫05 初级反爬笔记
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這里寫自定義目錄標題
- 一、反爬
- 1. 反爬原因
- 2. 服務器常反爬蟲
- 3. 一些概念
- 4. 反爬方向
- 4.1 基于身份識別進行反爬
- headers
- 請求參數
- 4.2 基于爬蟲行為進行反爬
- 請求頻率
- 爬取步驟
- 4.3 基于數據加密進行反爬
- 對響應中含有的數據進行特殊化處理
- 二、驗證碼
- 1. 圖片驗證碼
- 2. 圖片識別引擎
- 3. 打碼平臺
- 三、js解析
- 1.定位
- 2. 加密步驟、py模擬
- 法一:第三方js加載模塊
- 人人網登錄抓包
- 法二:python重現
- 有道翻譯
- salt
- sign
- lts
一、反爬
1. 反爬原因
- 爬蟲占PV比例高,費錢(三月爬蟲
- 資源被批量抓走
- GREY
2. 服務器常反爬蟲
- 低級的-不管服務器壓力
- 失控的小爬蟲
- 成型的商業對手
- 抽風搜索引擎
3. 一些概念
- 爬蟲:獲取數據的任何技術手段 ,批量
- 反爬蟲:阻止獲取數據的任何技術手段 ,批量
- 誤傷:錯將普通用戶為爬蟲
- 攔截
- 資源:機器 人力
4. 反爬方向
- 基于身份識別進行反爬
- 基于爬蟲行為進行反爬
- 基于數據加密進行反爬
4.1 基于身份識別進行反爬
headers
- User-Agent
- referer
- cookies
請求參數
- html靜態文件中獲取
- 發送請求獲取數據
- js生成
- 驗證碼
4.2 基于爬蟲行為進行反爬
請求頻率
- 請求ip單位時間請求數量——購買多個賬號
- 請求間隔——隨機休眠
- 請求次數閾值
爬取步驟
- 通過js實現跳轉反爬——抓包分析
- 通過蜜罐獲取爬蟲ip——找缺陷
- 通過假數據反爬
- 阻塞任務隊列
- 阻塞網絡IO——多線程
4.3 基于數據加密進行反爬
對響應中含有的數據進行特殊化處理
- 特殊字體
- css位移
- 圖片
- 編碼格式
二、驗證碼
1. 圖片驗證碼
- 驗證碼 CAPTCHA
- 區分人工、工具
2. 圖片識別引擎
- 安裝tesseract.exe
- 安裝python模塊pillow
3. 打碼平臺
會使用接口
三、js解析
1.定位
- 定位 發送請去的包
- search關鍵字定位
- 元素綁定的事件監聽函數定位
2. 加密步驟、py模擬
法一:第三方js加載模塊
模塊js2py、pyv8 execjs一個翻譯工具
人人網登錄抓包
包:login 向服務器發送請求 post ,做驗證
查看post中的數據,密碼做過處理
搜索,無果
切換到手機端(login以上的包 都沒顯示了
xhr屬于ajax請求(rkey、clog
如何獲取加密后的密碼——get(rkey的url)就可了
定位加密文件
通過clog的initiator celllog.js
查找rkey
檢查登錄沒觸登錄后,才觸發函數
登錄按鈕綁定了事件——Event Listeners——綁定回調函數
找到加密函數,遇到的函數直接ctrl F定位
法二:python重現
有道翻譯
蚌埠住了,那天(周二網技)解決不了的反爬要在這里解決了
把這個數據拿出來
其實只要找這三個值由來
salt: 16368251416712 sign: 4ee9d8a60f9a753238307381d8360729 lts: 1636825141671定位:
- 找initiate
- 查找所有文件
salt
sign
lts
改了一段時間的成功,面向對象學的像屎一樣
總結
以上是生活随笔為你收集整理的【python】——爬虫05 初级反爬笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言翻转棋ai算法,黑白棋游戏(也叫翻
- 下一篇: Python笔记 | 数据筛选