图书目录

目录

第 1 章 智能破解验证码 1

——re 正则表达式 + requests + BeautifulSoup(bs4)+Pillow + tesserocr + selenium

1.1 开发背景 1

1.2 系统设计 2

1.2.1 开发环境 2

1.2.2 业务流程 2

1.2.3 功能结构 3

1.3 技术准备 3

1.3.1 技术概览 3

1.3.2 Pillow 模块的使用 4

1.3.3 tesserocr 模块的使用 4

1.3.4 Selenium 自动化测试工具的使用 6

1.4 功能设计 7

1.4.1 破解字符验证码 7

1.4.2 破解滑动拼图验证码 9

1.4.3 第三方平台识别验证码 11

1.5 项目运行 15

1.6 源码下载 16

第 2 章 手机数据爬取精灵 17

——random + time + PyMySQL + requests_html

2.1 开发背景 17

2.2 系统设计 18

2.2.1 开发环境 18

2.2.2 业务流程 18

2.2.3 功能结构 18

2.3 技术准备 19

2.3.1 技术概览 19

2.3.2 random 模块的使用 20

2.3.3 time 模块的使用 21

2.3.4 requests_html 模块的使用 22

2.4 数据库设计 23

2.5 功能设计 24

2.5.1 分析手机数据网页中的分页规律 24

2.5.2 分析手机详情页地址 25

2.5.3 确认手机详情页中的各项信息对应的位置 26

2.5.4 导入模块 26

2.5.5 定义公共变量 26

2.5.6 实现爬取数据并插入数据库功能 27

2.5.7 实现下载手机图片功能 29

2.5.8 定义程序入口 29

2.6 项目运行 29

2.7 源码下载 32

第 3 章 汽车之家图片爬取工具 33

——文件读写 + 文件夹操作 + urllib +BeautifulSoup(bs4)+ PyQt5 + Pillow

3.1 开发背景 33

3.2 系统设计 34

3.2.1 开发环境 34

3.2.2 业务流程 34

3.2.3 功能结构 34

3.3 技术准备 35

3.3.1 技术概览 35

3.3.2 使用 PyQt5 设计 Python 窗体程序 36

3.4 设计主窗体 41

3.5 功能设计 44

3.5.1 模块导入 44

3.5.2 通过爬虫爬取并保存图片 44

3.5.3 在主窗体中调用爬虫方法 47

3.5.4 分类查看爬取的汽车图片 48

3.5.5 单击查看大图 50

3.6 项目运行 51

3.7 源码下载 52

第 4 章 高清壁纸快车(多线程版) 53

——文件读写 + requests + BeautifulSoup4(bs4)+PyQt5 + concurrent.futur

4.1 开发背景 53

4.2 系统设计 54

4.2.1 开发环境 54

4.2.2 业务流程 54

4.2.3 功能结构 54

4.3 技术准备 55

4.3.1 技术概览 55

4.3.2 concurrent.futures 模块的使用 56

4.4 设计主窗体 58

4.5 功能设计 60

4.5.1 模块导入 60

4.5.2 多线程爬取并保存高清壁纸 60

4.5.3 在 PyQt5 窗体中调用爬虫方法 64

4.5.4 使用列表显示爬取的所有高清壁纸名称 65

4.5.5 在 PyQt5 窗体中查看爬取的高清壁纸 66

4.6 项目运行 67

4.7 源码下载 68

第 5 章 多进程影视猎手 69

——requests + BeautifulSoup(bs4)+ re 正则表达式 + fake_useragent + multiprocessing + PyMySQ

5.1 开发背景 69

5.2 系统设计 70

5.2.1 开发环境 70

5.2.2 业务流程 70

5.2.3 功能结构 70

5.3 技术准备 71

5.3.1 技术概览 71

5.3.2 fake_useragent 模块的使用 72

5.4 数据库设计 73

5.5 功能设计 74

5.5.1 分析网页请求地址 74

5.5.2 获取电影详情页地址 75

5.5.3 爬取电影详细信息 76

5.5.4 将爬取的数据添加到数据库中 78

5.5.5 定义程序入口 79

5.6 项目运行 80

5.7 源码下载 82

第 6 章 分布式爬取动态新闻数据 83

——Scrapy + Scrapy-Redis + PyMySQL +Redis

6.1 开发背景 83

6.2 系统设计 84

6.2.1 开发环境 84

6.2.2 业务流程 84

6.2.3 功能结构 85

6.3 技术准备 85

6.3.1 技术概览 85

6.3.2 Redis 数据库的使用 86

6.3.3 Scrapy-Redis 模块 87

6.4 创建数据表 88

6.5 功能设计 89

6.5.1 分析请求地址 90

6.5.2 创建随机请求头 90

6.5.3 创建数据对象 91

6.5.4 将爬取的数据写入 MySQL 数据库中 91

6.5.5 数据的爬取与爬虫项目启动 92

6.5.6 编写配置文件 93

6.6 项目运行 94

6.7 源码下载 97

第 7 章 世界 500 强数据爬取与分析 98

——pandas + matplotlib + seaborn + lambda 函数

7.1 开发背景 98

7.2 系统设计 99

7.2.1 开发环境 99

7.2.2 业务流程 99

7.2.3 功能结构 100

7.3 技术准备 100

7.3.1 技术概览 100

7.3.2 详解 read_htlm()获取网页数据全过程 101

7.3.3 DataFrame 对象常用方法的使用 102

7.3.4 使用 lambda 函数快速处理数据 105

7.4 数据准备 106

7.4.1 数据集介绍 106

7.4.2 确定网页数据的结构 106

7.4.3 爬取数据 107

7.4.4 查看数据 108

7.5 统计分析 110

7.5.1 新上榜企业统计 110

7.5.2 统计排名上升的企业 110

7.5.3 柱状图分析世界 500 强排行 TOP10 112

7.5.4 折线图分析利润前 20 的企业 113

7.5.5 柱状图统计各国上榜企业的总营收 115

7.5.6 柱状图统计国内上榜企业的营收情况 115

7.5.7 饼图分析各国上榜企业比例 117

7.6 项目运行 119

7.7 源码下载 120

第 8 章 二手房信息智能抓取分析系统 121

——requests_html + pandas + matplotlib +multiprocessing

8.1 开发背景 121

8.2 系统设计 122

8.2.1 开发环境 122

8.2.2 业务流程 122

8.2.3 功能结构 122

8.3 技术准备 123

8.3.1 技术概览 123

8.3.2 requests_html 模块的使用 124

8.4 功能设计 125

8.4.1 分析网页数据结构 125

8.4.2 爬取二手房数据 127

8.4.3 清洗数据 129

8.4.4 饼图显示各区二手房数量所占比例 129

8.4.5 柱状图显示各区二手房均价 130

8.4.6 柱状图显示热门户型均价 131

8.4.7 设计主菜单 132

8.4.8 定义程序入口 133

8.5 项目运行 134

8.6 源码下载 135

第 9 章 图书热销侦探 136

——PyQt5 + requests + PyMySQL + matplotlib

9.1 开发背景 137

9.2 系统设计 137

9.2.1 开发环境 137

9.2.2 业务流程 137

9.2.3 功能结构 138

9.3 技术预览 138

9.4 数据库设计 140

9.5 公共模块设计 142

9.5.1 mysql 数据库操作模块 142

9.5.2 crawl 网络爬虫模块 144

9.5.3 chart 绘图模块 145

9.6 主窗体设计 146

9.6.1 窗体 UI 设计 146

9.6.2 美化窗体 149

9.6.3 逻辑功能实现 151

9.7 图书销量排行榜窗体设计 153

9.7.1 窗体 UI 设计 153

9.7.2 美化窗体 155

9.7.3 显示图书销量排行榜 155

9.8 图书热评排行榜窗体设计 156

9.8.1 窗体 UI 设计 156

9.8.2 美化窗体 158

9.8.3 显示图书热评排行榜 158

9.9 “关于”窗体设计 159

9.9.1 窗体 UI 设计 159

9.9.2 设置背景图片 160

9.10 UI 代码分离模块设计 161

9.10.1 导入模块 161

9.10.2 定义公共变量及函数 161

9.10.3 定义窗体初始化类 161

9.10.4 定义程序入口 162

9.11 项目运行 163

9.12 源码下载 165

第 10 章 APP 数据采集先锋 166

——requests + BeautifulSoup(bs4)+lxml.etree +Charles 抓包工具

10.1 开发背景 166

10.2 系统设计 167

10.2.1 开发环境 167

10.2.2 业务流程 167

10.2.3 功能结构 168

10.3 技术准备 168

10.3.1 技术概览 168

10.3.2 lxml.etree 模块的使用 168

10.3.3 Charles 抓包工具的使用 171

10.4 功能设计 178

10.4.1 配置手机端网络 178

10.4.2 采集手机 APP 网络请求 180

10.4.3 分析数据所在的标签位置 183

10.4.4 爬取 APP 数据 183

10.5 项目运行 184

10.6 源码下载 185

第 11 章 微信智能机器人 186

——requests + lxml + xpinyin + Flask + 微信公众平台 + Ngrok 内网穿透工具

11.1 开发背景 186

11.2 系统设计 187

11.2.1 开发环境 187

11.2.2 业务流程 187

11.2.3 功能结构 187

11.3 技术准备 188

11.3.1 技术概览 188

11.3.2 lxml 模块的使用 189

11.3.3 xpinyin 模块的使用 190

11.3.4 微信公众平台开发必备 191

11.3.5 内网穿透工具的使用 196

11.4 爬取新闻标题 198

11.4.1 页面分析 198

11.4.2 随机爬取一条新闻标题 199

11.5 爬取天气信息 200

11.5.1 页面分析 201

11.5.2 爬取天气信息 202

11.6 微信智能机器人的实现 203

11.6.1 设置配置文件 203

11.6.2 校验微信签名 205

11.6.3 配置微信公众号 206

11.6.4 实现自动回复功能 207

11.6.5 创建主程序文件 209

11.7 项目运行 209

11.8 源码下载 210