天天看点

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