天天看點

Python-3反爬蟲原理與繞過實戰

資源收集來源網絡,僅供學習測試,版權歸原作者所有,如有侵權,請聯系删除

Python-3反爬蟲原理與繞過實戰.pdf:

https://url91.ctfile.com/f/957191-696550135-6b732a?p=4066 (通路密碼: 4066)

第 1章 開發環境配置 1

1.1 作業系統的選擇 1

1.1.1 Ubuntu 簡介 1

1.1.2 VirtualBox 的安裝 2

1.1.3 安裝 Ubuntu 3

1.1.4 全屏設定 8

1.1.5 Python 設定 9

1.2 練習平台 Steamboat 10

1.2.1 安裝 Docker 11

1.2.2 安裝 Steamboat 12

1.2.3 Steamboat 使用說明 14

1.3 第三方庫的安裝 15

1.3.1 Requests 15

1.3.2 Selenium 15

1.3.3 浏覽器驅動 16

1.3.4 Splash 18

1.3.5 Puppeteer 18

1.3.6 PyTesseract 20

1.4 常用軟體的安裝 21

1.4.1 nginx 21

1.4.2 Charles 22

1.4.3 PC端 SSL 證書 23

1.4.4 iOS 系統的證書設定 26

1.4.5 Andriod 模拟器的安裝與證書設定 27

1.4.6 Postman 29

1.4.7 Google Chrome 32

1.4.8 JADX 33

1.5 深度學習環境配置 35

1.5.1 NVIDIA顯示卡驅動安裝 35

1.5.2 CUDA Toolkit 的安裝 38

1.5.3 cuDNN 的安裝 40

1.5.4 深度學習庫 PyTorch 41

1.5.5 深度學習架構 Darknet 42

1.5.6 圖檔标注工具 LabelImg 43

1.6 Node.js 環境配置 44

1.6.1 Node.js 的安裝 44

1.6.2 UglifyJS 的安裝 45

第 2章 Web網站的構成和頁面渲染 47

2.1 nginx伺服器 47

2.1.1 nginx的信号 48

2.1.2 nginx配置檔案 49

2.1.3 簡單的代理服務 50

2.1.4 nginx子產品與指令 52

2.1.5 nginx日志 57

2.1.6 小結 58

2.2 浏覽器 58

2.2.1 浏覽器的主要結構 59

2.2.2 頁面渲染 60

2.2.3 HTML DOM 62

2.2.4 浏覽器對象BOM 65

2.2.5 小結 70

2.3 網絡協定 71

2.3.1 認識HTTP 71

2.3.2 資源與資源辨別符 72

2.3.3 HTTP請求與響應 74

2.3.4 Cookie 77

2.3.5 了解HTTPS 80

2.3.6 認識WebSocket 81

2.3.7 WebSocket握手 81

2.3.8 資料傳輸與資料幀 83

2.3.9 WebSocket連接配接 85

2.3.10 連接配接保持 87

2.3.11 小結 88

本章總結 88

第3章 爬蟲與反爬蟲 89

3.1 動态網頁與網頁源代碼 89

3.2 爬蟲知識回顧 90

3.3 反爬蟲的概念與定義 95

本章總結 96

第4章 資訊校驗型反爬蟲 97

4.1 User-Agent 反爬蟲 97

4.1.1 User-Agent 反爬蟲繞過實戰 97

4.1.2 User-Agent 反爬蟲的原理與實作 100

4.1.3 小結 103

4.2 Cookie 反爬蟲 103

4.2.1 Cookie 反爬蟲繞過實戰 103

4.2.2 Cookie 反爬蟲原理與實作 109

4.2.3 Cookie 與 JavaScript 結合 110

4.2.4 使用者過濾 112

4.2.5 小結 113

4.3 簽名驗證反爬蟲 114

4.3.1 簽名驗證反爬蟲繞過實戰 114

4.3.2 簽名驗證反爬蟲原理與實作 121

4.3.3 有道翻譯反爬蟲案例 123

4.3.4 小結 125

4.4 WebSocket 握手驗證反爬蟲 125

4.5 WebSocket 消息校驗反爬蟲 129

4.5.1 WebSocket 消息校驗反爬蟲示例 130

4.5.2 樂魚體育反爬蟲案例 132

4.6 WebSocket Ping反爬蟲 133

本章總結 134

第5章 動态渲染反爬蟲 135

5.1 常見的動态渲染反爬蟲案例 135

5.1.1 自動執行的異步請求案例 135

5.1.2 點選事件和計算 138

5.1.3 下拉加載和異步請求 142

5.1.4 小結 144

5.2 動态渲染的通用解決辦法 144

5.2.1 Selenium 套件 144

5.2.2 異步渲染庫 Puppeteer 148

5.2.3 異步渲染服務 Splash 150

5.2.4 通用不一定适用 154

5.2.5 渲染工具知識擴充 156

5.2.6 小結 160

本章總結 160

第6章 文本混淆反爬蟲 161