爬虫应用技术与开发
¥99.00定价
作者: 吴建,曾修俊
出版时间:2021-09
出版社:重庆大学电子音像出版社
- 重庆大学电子音像出版社
- 9787894465023
- 1版
- 424543
- 65246081-7
- 平装
- 16开
- 2021-09
- 236
- 工学
- 计算机科学与技术
- 计算机类
- 高职
内容简介
目录
目录
第1章 爬虫概述 1
1.1 爬虫简介 3
1.1.1 爬虫的产生背景 3
1.1.2 爬虫是什么 4
1.1.3 爬虫的工作原理 4
1.1.4 爬虫的分类 5
1.1.5 爬虫的作用 6
1.2 为什么学习Python爬虫 6
1.2.1 Python语言的流行程度 6
1.2.2 爬虫框架比较 8
1.2.3 为什么Python适合写爬虫 9
1.3 入门示例 10
1.3.1 爬网页 10
1.3.2 分析爬网页的方法 11
1.3.3 构造Request 12
1.3.4 POST和GET数据传送 12
第2章 爬虫基础 16
2.1 HTTP原理 18
2.1.1 URI和URL 18
2.1.2 超文本 18
2.1.3 HTTP和HTTPS 19
2.1.4 HTTP请求过程 20
2.1.5 请求 23
2.1.6 响应 25
2.2 网页基础 28
2.2.1 网页的组成 28
2.2.2 网页的结构 30
2.2.3 节点树及节点间的关系 31
2.2.4 选择器 33
2.3 会话和Cookies 35
2.3.1 静态网页和动态网页 35
2.3.2 无状态HTTP 36
2.3.3 常见误区 38
2.4 urllib的进阶——requests 39
2.4.1 基本用法 39
2.4.2 高级用法 49
第3章 数据提取 59
3.1 响应内容的分类 61
3.1.1 结构化的响应内容 61
3.1.2 非结构化的响应内容 62
3.1.3 常用数据解析工具 64
3.2 正则表达式 64
3.2.1 了解正则表达式 66
3.2.2 正则表达式的语法规则 66
3.2.3 数量词的贪婪模式与非贪婪模式 68
3.2.4 反斜杠问题 68
3.2.5 Re模块 69
3.3 jsonpath模块 75
3.4 xpath语法与lxml模块 78
3.4.1 谷歌浏览器xpath helper插件 78
3.4.2 xpath的节点关系 79
3.4.3 xpath语法-基础节点选择语法 80
3.4.4 xpath语法-节点修饰语法 82
3.4.5 xpath语法-其他常用节点选择语法 83
3.4.6 lxml模块的安装与使用示例 84
3.5 使用Beautiful Soup 88
3.5.1 简介 88
3.5.2 准备工作 88
3.5.3 解析器 89
3.5.4 基本用法 89
3.5.5 节点选择器 91
3.5.6 方法选择器 101
3.5.7 CSS选择器 107
第4章 爬取动态渲染页面 113
4.1 selenium的简介 115
4.2 selenium的安装 116
4.3 selenium的简单使用 118
4.4 selenium提取数据 119
4.5 selenium的其他使用方法 120
4.5.1 selenium标签页的切换 120
4.5.2 switch_to切换frame标签 121
4.5.3 selenium对cookie的处理 123
4.5.4 selenium控制浏览器执行js代码 123
4.5.5 页面等待 123
4.5.6 selenium开启无界面模式 126
4.5.7 selenium使用代理ip 126
4.5.8 selenium替换user-agent 127
第5章 反爬与爬取 129
5.1 反爬简介 131
5.1.1 服务器反爬的原因 131
5.1.2 服务器常反什么样的爬虫 131
5.1.3 爬虫领域常见的一些概念 132
5.2 反爬的三个方向 132
5.2.1 常见基于身份识别进行反爬 132
5.2.2 常见基于爬虫行为进行反爬 134
5.2.3 常见基于数据加密进行反爬 135
第6章 Scrapy爬虫框架 138
6.1 Scrapy简介 140
6.1.1 Scrapy的概念 140
6.1.2 Scrapy的工作流程 140
6.2 Scrapy的入门使用 142
6.3 Scrapy数据建模与请求 146
6.3.1 数据建模 146
6.3.2 请求 148
6.4 Scrapy模拟登陆 153
6.4.1 回顾之前的模拟登陆的方法 153
6.4.2 Scrapy携带cookies直接获取需要登录后的页面 153
6.4.3 scrapy.Request发送post请求 155
6.5 Scrapy管道的使用 156
6.6 Scrapy的crawlspider爬虫 158
6.7 Scrapy中间件的使用 162
6.8 分布式爬虫 166
6.9 scrapy_splash组件的使用 179
6.9.1 scrapy_splash的简介 179
6.9.2 scrapy_splash的环境安装 179
6.9.3 在scrapy中使用splash 182
6.10 Scrapy的日志信息与配置 185
6.10.1 了解Scrapy的日志信息 185
6.10.2 Scrapy的常用配置 186
6.10.3 scrapy_redis配置 186
6.10.4 scrapy_splash配置 186
6.10.5 scrapy_redis和scrapy_splash配合使用的配置 187
6.10.6 了解Scrapy的其他配置 189
6.11 scrapyd部署scrapy项目 189
6.11.1 scrapyd简介 189
6.11.2 项目部署与控制 191
6.12 Gerapy 193
6.12.1 Gerapy简介 193
6.12.2 Gerapy配置启动 194
第7章 Appium 201
7.1 Appium简介 203
7.2 Appium环境安装 203
7.2.1 环境安装 203
7.2.2 联调测试环境 217
7.3 利用appium自动控制移动设备并提取数据 223
7.3.1 安装appium-python-client模块并启动已安装好的环境 223
7.3.2 Appium Python API 225
7.3.3 初始化以及获取移动设备分辨率 231
7.3.4 定位元素以及提取文本的方法 232
7.3.5 控制抖音app滑动 233
7.3.6 整理提取文本与控制滑动代码 234
第1章 爬虫概述 1
1.1 爬虫简介 3
1.1.1 爬虫的产生背景 3
1.1.2 爬虫是什么 4
1.1.3 爬虫的工作原理 4
1.1.4 爬虫的分类 5
1.1.5 爬虫的作用 6
1.2 为什么学习Python爬虫 6
1.2.1 Python语言的流行程度 6
1.2.2 爬虫框架比较 8
1.2.3 为什么Python适合写爬虫 9
1.3 入门示例 10
1.3.1 爬网页 10
1.3.2 分析爬网页的方法 11
1.3.3 构造Request 12
1.3.4 POST和GET数据传送 12
第2章 爬虫基础 16
2.1 HTTP原理 18
2.1.1 URI和URL 18
2.1.2 超文本 18
2.1.3 HTTP和HTTPS 19
2.1.4 HTTP请求过程 20
2.1.5 请求 23
2.1.6 响应 25
2.2 网页基础 28
2.2.1 网页的组成 28
2.2.2 网页的结构 30
2.2.3 节点树及节点间的关系 31
2.2.4 选择器 33
2.3 会话和Cookies 35
2.3.1 静态网页和动态网页 35
2.3.2 无状态HTTP 36
2.3.3 常见误区 38
2.4 urllib的进阶——requests 39
2.4.1 基本用法 39
2.4.2 高级用法 49
第3章 数据提取 59
3.1 响应内容的分类 61
3.1.1 结构化的响应内容 61
3.1.2 非结构化的响应内容 62
3.1.3 常用数据解析工具 64
3.2 正则表达式 64
3.2.1 了解正则表达式 66
3.2.2 正则表达式的语法规则 66
3.2.3 数量词的贪婪模式与非贪婪模式 68
3.2.4 反斜杠问题 68
3.2.5 Re模块 69
3.3 jsonpath模块 75
3.4 xpath语法与lxml模块 78
3.4.1 谷歌浏览器xpath helper插件 78
3.4.2 xpath的节点关系 79
3.4.3 xpath语法-基础节点选择语法 80
3.4.4 xpath语法-节点修饰语法 82
3.4.5 xpath语法-其他常用节点选择语法 83
3.4.6 lxml模块的安装与使用示例 84
3.5 使用Beautiful Soup 88
3.5.1 简介 88
3.5.2 准备工作 88
3.5.3 解析器 89
3.5.4 基本用法 89
3.5.5 节点选择器 91
3.5.6 方法选择器 101
3.5.7 CSS选择器 107
第4章 爬取动态渲染页面 113
4.1 selenium的简介 115
4.2 selenium的安装 116
4.3 selenium的简单使用 118
4.4 selenium提取数据 119
4.5 selenium的其他使用方法 120
4.5.1 selenium标签页的切换 120
4.5.2 switch_to切换frame标签 121
4.5.3 selenium对cookie的处理 123
4.5.4 selenium控制浏览器执行js代码 123
4.5.5 页面等待 123
4.5.6 selenium开启无界面模式 126
4.5.7 selenium使用代理ip 126
4.5.8 selenium替换user-agent 127
第5章 反爬与爬取 129
5.1 反爬简介 131
5.1.1 服务器反爬的原因 131
5.1.2 服务器常反什么样的爬虫 131
5.1.3 爬虫领域常见的一些概念 132
5.2 反爬的三个方向 132
5.2.1 常见基于身份识别进行反爬 132
5.2.2 常见基于爬虫行为进行反爬 134
5.2.3 常见基于数据加密进行反爬 135
第6章 Scrapy爬虫框架 138
6.1 Scrapy简介 140
6.1.1 Scrapy的概念 140
6.1.2 Scrapy的工作流程 140
6.2 Scrapy的入门使用 142
6.3 Scrapy数据建模与请求 146
6.3.1 数据建模 146
6.3.2 请求 148
6.4 Scrapy模拟登陆 153
6.4.1 回顾之前的模拟登陆的方法 153
6.4.2 Scrapy携带cookies直接获取需要登录后的页面 153
6.4.3 scrapy.Request发送post请求 155
6.5 Scrapy管道的使用 156
6.6 Scrapy的crawlspider爬虫 158
6.7 Scrapy中间件的使用 162
6.8 分布式爬虫 166
6.9 scrapy_splash组件的使用 179
6.9.1 scrapy_splash的简介 179
6.9.2 scrapy_splash的环境安装 179
6.9.3 在scrapy中使用splash 182
6.10 Scrapy的日志信息与配置 185
6.10.1 了解Scrapy的日志信息 185
6.10.2 Scrapy的常用配置 186
6.10.3 scrapy_redis配置 186
6.10.4 scrapy_splash配置 186
6.10.5 scrapy_redis和scrapy_splash配合使用的配置 187
6.10.6 了解Scrapy的其他配置 189
6.11 scrapyd部署scrapy项目 189
6.11.1 scrapyd简介 189
6.11.2 项目部署与控制 191
6.12 Gerapy 193
6.12.1 Gerapy简介 193
6.12.2 Gerapy配置启动 194
第7章 Appium 201
7.1 Appium简介 203
7.2 Appium环境安装 203
7.2.1 环境安装 203
7.2.2 联调测试环境 217
7.3 利用appium自动控制移动设备并提取数据 223
7.3.1 安装appium-python-client模块并启动已安装好的环境 223
7.3.2 Appium Python API 225
7.3.3 初始化以及获取移动设备分辨率 231
7.3.4 定位元素以及提取文本的方法 232
7.3.5 控制抖音app滑动 233
7.3.6 整理提取文本与控制滑动代码 234