📘Python网络爬虫:理论到实践的完美结合

🎉哇塞,宝子们!今天我要跟大家分享一本超级燃的书,那就是庄培杰的《Python网络爬虫从入门到实践》!😍

🌈首先,这本书的颜值就超级高,彩色的封面,清晰的排版,还有超级多实用的案例和代码!😍

🚀而且,这本书的内容也是太棒了!庄培杰老师用简单易懂的语言,详细地讲解了Python网络爬虫的基础知识和各种实战技巧。📘

😇对于我们这些初学者来说,真的是超级友好的。而且,书中还有很多可爱的插图和注释,让我们的学习更加轻松愉快。🥳

🎊另外,这本书还提供了大量的实战案例,让我们可以边学边做,更好地巩固我们的知识。📘

🔥总的来说,《Python网络爬虫从入门到实践》是一本非常值得一读的书,无论是对于初学者还是有一定基础的读者来说,都是非常有帮助的。😍

✨最后,我要感谢庄培杰老师为我们带来这样一本好书,也感谢百家号平台让我们有机会发现并分享这样的好书。💖

书籍信息

书名:Python网络爬虫从入门到实践
作者:庄培杰
评分:
出版日期:2019-08-01
出版社:电子工业出版社
ISBN:9787121371059
页数:296
定价:79

Python网络爬虫从入门到实践

内容简介

本书讲解了如何使用 Python 编写网络爬虫,涵盖爬虫的概念、Web 基础、Chrome、Charles 和 Packet Capture 抓包、urllib、Requests 请求库、lxml、Beautiful Soup、正则表达式解析数据、CSV、Excel、MySQL、Redis、MongoDB 保存数据、反爬虫策略应对、爬虫框架 Scrapy 的使用与部署,以及应用案例。

本书结构清晰、内容精练,代码示例典型实用,附带实践过程中遇到问题的解决方案,非常适合 Python初学者和进阶读者阅读。

书籍目录

第1章 Python爬虫概念与Web基础 1
1.1 爬虫概念 1
1.1.1 什么是爬虫 1
1.1.2 爬虫使用场景的引入 2
1.1.3 爬虫的组成部分 3
1.1.4 模拟请求 3
1.1.5 数据解析 4
1.1.6 数据保存 5
1.1.7 爬虫的学习路线 5
1.2 HTTP简述 6
1.2.1 简述一次网络请求过程 6
1.2.2 URI和URL 7
1.2.3 HTTP请求报文 8
1.2.4 HTTP响应报文 10
1.3 网页的组成 13
1.3.1 HTML简介 13
1.3.2 CSS选择器简介 16
1.3.3 JavaScript简介 17
第2章 Python爬虫基本库的使用 18
2.1 Chrome抓包详解 18
2.1.1 Controls 20
2.1.2 Filter 21
2.1.3 Request Table 21
2.2 urllib库详解 23
2.2.1 发送请求 23
2.2.2 抓取二进制文件 24
2.2.3 模拟GET和POST请求 25
2.2.4 修改请求头 26
2.2.5 设置连接超时 27
2.2.6 延迟提交数据 27
2.2.7 设置代理 27
2.2.8 Cookie 28
2.2.9 urllib.parse模块 29
2.2.10 urllib.error异常处理模块 31
2.2.11 urllib.robotparser模块 32
2.3 用lxml库解析网页节点 34
2.3.1 安装库 34
2.3.2 XPath语法速成 34
2.4 实战:爬取小说《三国演义》 36
第3章 Python爬虫抓包与数据解析 41
3.1 抓包进阶 41
3.1.1 HTTPS介绍 42
3.1.2 HTTPS的工作流程 43
3.1.3 Charles抓包 43
3.1.4 Packet Capture抓包 49
3.2 Requests HTTP请求库 52
3.2.1 Requests库简介 53
3.2.2 Requests HTTP基本请求 53
3.2.3 Requests 请求常用设置 54
3.2.4 Requests 处理返回结果 54
3.2.5 Requests 处理Cookie 55
3.2.6 Requests重定向与请求历史 55
3.2.7 Requests 错误与异常处理 55
3.2.8 Requests Session会话对象 55
3.2.9 Requests SSL证书验证 56
3.3 实战:爬取微信文章中的图片、音频和视频 56
3.3.1 爬取标题 56
3.3.2 爬取图片 57
3.3.3 爬取音频 58
3.3.4 爬取视频 60
3.3.5 代码整理 64
3.4 Beautiful Soup解析库 67
3.4.1 Beautiful Soup简介 67
3.4.2 Beautiful Soup对象实例化 67
3.4.3 Beautiful Soup的四大对象 68
3.4.4 Beautiful Soup的各种节点 69
3.4.5 Beautiful Soup文档树搜索 69
3.4.6 Beautiful Soup 使用CSS选择器 70
3.5 实战:爬取壁纸站点的壁纸 70
3.6 正则表达式 74
3.6.1 re模块 74
3.6.2 正则规则详解 75
3.6.3 正则练习 77
3.7 实战:爬取市级编码列表 79
3.7.1 获取所有市级的跳转链接列表 80
3.7.2 解析表格获得所有市级天气链接 81
3.7.3 提取市级编码 82
3.7.4 整合调整代码 83
第4章 用CSV和Excel存储数据 85
4.1 用CSV文件存储数据 85
4.1.1 CSV写入 86
4.1.2 CSV读取 87
4.2 实战:爬取星座运势 88
4.3 用Excel文件存储数据 89
4.3.1 Excel写入 89
4.3.2 Excel读取 90
4.4 实战:爬取某音乐平台排行榜 91
第5章 用数据库存储数据 99
5.1 MySQL数据库 99
5.1.1 安装MySQL 100
5.1.2 在Windows环境下安装MySQL 100
5.1.3 在Windows环境下配置MYSQL_HOME环境变量 101
5.1.4 在Windows环境下设置MySQL登录密码 101
5.1.5 在Windows环境下启动或关闭MySQL服务 102
5.1.6 Mac环境 103
5.1.7 Ubuntu环境 103
5.1.8 MySQL的基本操作 104
5.1.9 MySQL数据库语法速成 106
5.1.10 Python连接MySQL数据库 110
5.1.11 MySQL特殊符号和表情问题 114
5.1.12 实战:抓取某技术网站数据 115
5.2 数据库可视化工具DataGrip 122
5.2.1 建立数据库关联 122
5.2.2 编写SQL语句 123
5.2.3 常见问题:连接远程主机 124
5.3 Redis数据库 125
5.3.1 安装Redis 126
5.3.2 redis-py库的安装 130
5.3.3 redis-py基本操作示例 130
5.3.4 实战:爬取视频弹幕并保存到Redis 134
5.4 MongoDB数据库 137
5.4.1 安装MongoDB 137
5.4.2 安装PyMongo库 140
5.4.3 PyMongo基本操作示例 140
5.4.4 实战:爬取某电商网站关键字搜索结果并保存到MongoDB 144
第6章 Python应对反爬虫策略 148
6.1 反爬虫概述 148
6.1.1 为什么会出现反爬虫 149
6.1.2 常见的爬虫与反爬虫大战 149
6.2 反爬虫策略 150
6.2.1 User-Agent限制 150
6.2.2 302重定向 151
6.2.3 IP限制 151
6.2.4 什么是网络代理 151
6.2.5 如何获取代理IP 151
6.2.6 ADSL拨号代理 152
6.2.7 Squid 配置代理缓存服务器 156
6.2.8 TinyProxy配置代理缓存服务器 158
6.2.9 Cookie限制 159
6.3 JavaScript反爬虫策略 159
6.3.1 Ajax动态加载数据 159
6.3.2 实战:爬取某素材网内容分析 159
6.3.3 数据请求分析 160
6.3.4 编写代码 163
6.4 Selenium模拟浏览器操作 166
6.4.1 Selenium简介 166
6.4.2 安装Selenium 167
6.4.3 Selenium常用函数 168
6.5 实战:爬取某网站的特定图 172
6.6 PhantomJS 175
6.6.1 在Windows上安装PhantomJS 175
6.6.2 在Mac上安装PhantomJS 175
6.6.3 在Ubuntu上安装PhantomJS 176
6.6.4 关于PhantomJS的重要说明 176
6.7 常见验证码策略 176
6.7.1 图片验证码 177
6.7.2 实战:实现图片验证码自动登录 178
6.7.3 实战:实现滑动验证码自动登录 185
第7章 Python爬虫框架Scrapy(上) 196
7.1 Scrapy框架简介与安装 197
7.1.1 Scrapy相关信息 197
7.1.2 Scrapy的安装 197
7.2 实战:爬取某网站每日壁纸 199
7.2.1 抓取目标分析 199
7.2.2 创建爬虫脚本 201
7.2.3 编写爬虫脚本 202
7.2.4 运行爬虫脚本 203
7.2.5 解析数据 203
7.3 Scrapy架构简介 204
7.3.1 Scrapy架构图 204
7.3.2 各个模块间的协作流程 205
7.3.3 协作流程拟人化对话版 206
7.4 Spider详解 207
7.4.1 Spider的主要属性和函数 207
7.4.2 Spider运行流程 207
7.5 Request类和Response类 209
7.5.1 Request详解 209
7.5.2 Response类常用参数、方法与子类 210
7.5.3 选择器 211
7.5.4 Scrapy Shell 212
7.6 Item详解 213
7.7 Item Pipeline详解 213
7.7.1 自定义Item Pipeline类 213
7.7.2 启用Item Pipeline 214
7.8 实战:完善爬取每日壁纸的脚本 214
7.8.1 定义BingItem 215
7.8.2 使用ImagesPipeline 215
7.8.3 修改Spider代码 216
7.8.4 运行爬虫脚本 216
7.9 设置请求头 217
7.9.1 构造Request时传入 217
7.9.2 修改settings.py文件 217
7.9.3 为爬虫添加custom_settings字段 218
7.10 下载中间件详解 218
7.10.1 自定义Downloader Middleware类 218
7.10.2 启用自定义的代理下载中间件 219
7.11 实战:爬取某站点绘画频道的图片 219
7.11.1 分析爬取的站点 219
7.11.2 新建项目与明确爬取目标 221
7.11.3 创建爬虫爬取网页 221
7.11.4 设置代理 223
7.11.5 解析数据 223
7.11.6 存储数据 224
7.11.7 完善代码 226
第8章 Python爬虫框架Scrapy(下) 228
8.1 Scrapy对接Selenium 228
8.1.1 如何对接 228
8.1.2 对接示例:爬取某网站首页文章 229
8.2 实战:用Scrapy实现一个简单的代理池 232
8.2.1 代理池的设计 232
8.2.2 创建项目 232
8.2.3 编写获取IP的爬虫 233
8.2.4 编写检测IP的爬虫 238
8.2.5 编写调度程序 240
8.2.6 编写获取代理IP的接口 241
8.2.7 使用代理 243
8.3 用Scrapyrt调度Scrapy 243
8.3.1 相关文档与安装Scrapyrt 243
8.3.2 Scrapyrt GET请求相关参数 244
8.3.3 Scrapyrt POST请求相关参数 246
8.4 用Docker部署Scrapy 246
8.4.1 Docker简介 246
8.4.2 下载并安装Docker 247
8.4.3 创建Dockerfile 249
8.4.4 构建Docker镜像 250
8.4.5 把生成的Docker镜像推送到Docker Hub 251
8.4.6 在云服务器上运行Docker镜像 253
第9章 数据分析案例:Python岗位行情 254
9.1 数据爬取 254
9.2 NumPy库和pandas库 258
9.2.1 ndarray数组 259
9.2.2 ndarray数组的常用操作 260
9.2.3 pandas库 263
9.3 用Matplotlib实现数据可视化 268
9.3.1 Matplotlib中文乱码问题 269
9.3.2 Matplotlib绘制显示不全 270
9.3.3 用Matplotlib生成图表并进行分析 271
9.4 用Wordcloud库进行词云绘制 275
9.4.1 Wordcloud简介 275
9.4.2 Wordcloud构造函数与常用方法 276
9.4.3 词云绘制 277
9.5 小结 280
第10章 数据分析案例:某婚恋网站交友情况分析 281
10.1 数据爬取 281
10.2 安装Jupyter Notebook 287
10.3 安装pyecharts 288
10.4 数据分析 289
10.4.1 读取CSV文件里的数据 289
10.4.2 分析身高 290
10.4.3 分析学历 292
10.4.4 分析年龄 292
10.4.5 分析城市 294
10.4.6 分析交友宣言 294
10.5 小结 296,
第1章 Python爬虫概念与Web基础 1
1.1 爬虫概念 1
1.1.1 什么是爬虫 1
1.1.2 爬虫使用场景的引入 2
1.1.3 爬虫的组成部分 3
1.1.4 模拟请求 3
1.1.5 数据解析 4
1.1.6 数据保存 5
1.1.7 爬虫的学习路线 5
1.2 HTTP简述 6
1.2.1 简述一次网络请求过程 6
1.2.2 URI和URL 7
1.2.3 HTTP请求报文 8
1.2.4 HTTP响应报文 10
1.3 网页的组成 13
1.3.1 HTML简介 13
1.3.2 CSS选择器简介 16
1.3.3 JavaScript简介 17
第2章 Python爬虫基本库的使用 18
2.1 Chrome抓包详解 18
2.1.1 Controls 20
2.1.2 Filter 21
2.1.3 Request Table 21
2.2 urllib库详解 23
2.2.1 发送请求 23
2.2.2 抓取二进制文件 24
2.2.3 模拟GET和POST请求 25
2.2.4 修改请求头 26
2.2.5 设置连接超时 27
2.2.6 延迟提交数据 27
2.2.7 设置代理 27
2.2.8 Cookie 28
2.2.9 urllib.parse模块 29
2.2.10 urllib.error异常处理模块 31
2.2.11 urllib.robotparser模块 32
2.3 用lxml库解析网页节点 34
2.3.1 安装库 34
2.3.2 XPath语法速成 34
2.4 实战:爬取小说《三国演义》 36
第3章 Python爬虫抓包与数据解析 41
3.1 抓包进阶 41
3.1.1 HTTPS介绍 42
3.1.2 HTTPS的工作流程 43
3.1.3 Charles抓包 43
3.1.4 Packet Capture抓包 49
3.2 Requests HTTP请求库 52
3.2.1 Requests库简介 53
3.2.2 Requests HTTP基本请求 53
3.2.3 Requests 请求常用设置 54
3.2.4 Requests 处理返回结果 54
3.2.5 Requests 处理Cookie 55
3.2.6 Requests重定向与请求历史 55
3.2.7 Requests 错误与异常处理 55
3.2.8 Requests Session会话对象 55
3.2.9 Requests SSL证书验证 56
3.3 实战:爬取微信文章中的图片、音频和视频 56
3.3.1 爬取标题 56
3.3.2 爬取图片 57
3.3.3 爬取音频 58
3.3.4 爬取视频 60
3.3.5 代码整理 64
3.4 Beautiful Soup解析库 67
3.4.1 Beautiful Soup简介 67
3.4.2 Beautiful Soup对象实例化 67
3.4.3 Beautiful Soup的四大对象 68
3.4.4 Beautiful Soup的各种节点 69
3.4.5 Beautiful Soup文档树搜索 69
3.4.6 Beautiful Soup 使用CSS选择器 70
3.5 实战:爬取壁纸站点的壁纸 70
3.6 正则表达式 74
3.6.1 re模块 74
3.6.2 正则规则详解 75
3.6.3 正则练习 77
3.7 实战:爬取市级编码列表 79
3.7.1 获取所有市级的跳转链接列表 80
3.7.2 解析表格获得所有市级天气链接 81
3.7.3 提取市级编码 82
3.7.4 整合调整代码 83
第4章 用CSV和Excel存储数据 85
4.1 用CSV文件存储数据 85
4.1.1 CSV写入 86
4.1.2 CSV读取 87
4.2 实战:爬取星座运势 88
4.3 用Excel文件存储数据 89
4.3.1 Excel写入 89
4.3.2 Excel读取 90
4.4 实战:爬取某音乐平台排行榜 91
第5章 用数据库存储数据 99
5.1 MySQL数据库 99
5.1.1 安装MySQL 100
5.1.2 在Windows环境下安装MySQL 100
5.1.3 在Windows环境下配置MYSQL_HOME环境变量 101
5.1.4 在Windows环境下设置MySQL登录密码 101
5.1.5 在Windows环境下启动或关闭MySQL服务 102
5.1.6 Mac环境 103
5.1.7 Ubuntu环境 103
5.1.8 MySQL的基本操作 104
5.1.9 MySQL数据库语法速成 106
5.1.10 Python连接MySQL数据库 110
5.1.11 MySQL特殊符号和表情问题 114
5.1.12 实战:抓取某技术网站数据 115
5.2 数据库可视化工具DataGrip 122
5.2.1 建立数据库关联 122
5.2.2 编写SQL语句 123
5.2.3 常见问题:连接远程主机 124
5.3 Redis数据库 125
5.3.1 安装Redis 126
5.3.2 redis-py库的安装 130
5.3.3 redis-py基本操作示例 130
5.3.4 实战:爬取视频弹幕并保存到Redis 134
5.4 MongoDB数据库 137
5.4.1 安装MongoDB 137
5.4.2 安装PyMongo库 140
5.4.3 PyMongo基本操作示例 140
5.4.4 实战:爬取某电商网站关键字搜索结果并保存到MongoDB 144
第6章 Python应对反爬虫策略 148
6.1 反爬虫概述 148
6.1.1 为什么会出现反爬虫 149
6.1.2 常见的爬虫与反爬虫大战 149
6.2 反爬虫策略 150
6.2.1 User-Agent限制 150
6.2.2 302重定向 151
6.2.3 IP限制 151
6.2.4 什么是网络代理 151
6.2.5 如何获取代理IP 151
6.2.6 ADSL拨号代理 152
6.2.7 Squid 配置代理缓存服务器 156
6.2.8 TinyProxy配置代理缓存服务器 158
6.2.9 Cookie限制 159
6.3 JavaScript反爬虫策略 159
6.3.1 Ajax动态加载数据 159
6.3.2 实战:爬取某素材网内容分析 159
6.3.3 数据请求分析 160
6.3.4 编写代码 163
6.4 Selenium模拟浏览器操作 166
6.4.1 Selenium简介 166
6.4.2 安装Selenium 167
6.4.3 Selenium常用函数 168
6.5 实战:爬取某网站的特定图 172
6.6 PhantomJS 175
6.6.1 在Windows上安装PhantomJS 175
6.6.2 在Mac上安装PhantomJS 175
6.6.3 在Ubuntu上安装PhantomJS 176
6.6.4 关于PhantomJS的重要说明 176
6.7 常见验证码策略 176
6.7.1 图片验证码 177
6.7.2 实战:实现图片验证码自动登录 178
6.7.3 实战:实现滑动验证码自动登录 185
第7章 Python爬虫框架Scrapy(上) 196
7.1 Scrapy框架简介与安装 197
7.1.1 Scrapy相关信息 197
7.1.2 Scrapy的安装 197
7.2 实战:爬取某网站每日壁纸 199
7.2.1 抓取目标分析 199
7.2.2 创建爬虫脚本 201
7.2.3 编写爬虫脚本 202
7.2.4 运行爬虫脚本 203
7.2.5 解析数据 203
7.3 Scrapy架构简介 204
7.3.1 Scrapy架构图 204
7.3.2 各个模块间的协作流程 205
7.3.3 协作流程拟人化对话版 206
7.4 Spider详解 207
7.4.1 Spider的主要属性和函数 207
7.4.2 Spider运行流程 207
7.5 Request类和Response类 209
7.5.1 Request详解 209
7.5.2 Response类常用参数、方法与子类 210
7.5.3 选择器 211
7.5.4 Scrapy Shell 212
7.6 Item详解 213
7.7 Item Pipeline详解 213
7.7.1 自定义Item Pipeline类 213
7.7.2 启用Item Pipeline 214
7.8 实战:完善爬取每日壁纸的脚本 214
7.8.1 定义BingItem 215
7.8.2 使用ImagesPipeline 215
7.8.3 修改Spider代码 216
7.8.4 运行爬虫脚本 216
7.9 设置请求头 217
7.9.1 构造Request时传入 217
7.9.2 修改settings.py文件 217
7.9.3 为爬虫添加custom_settings字段 218
7.10 下载中间件详解 218
7.10.1 自定义Downloader Middleware类 218
7.10.2 启用自定义的代理下载中间件 219
7.11 实战:爬取某站点绘画频道的图片 219
7.11.1 分析爬取的站点 219
7.11.2 新建项目与明确爬取目标 221
7.11.3 创建爬虫爬取网页 221
7.11.4 设置代理 223
7.11.5 解析数据 223
7.11.6 存储数据 224
7.11.7 完善代码 226
第8章 Python爬虫框架Scrapy(下) 228
8.1 Scrapy对接Selenium 228
8.1.1 如何对接 228
8.1.2 对接示例:爬取某网站首页文章 229
8.2 实战:用Scrapy实现一个简单的代理池 232
8.2.1 代理池的设计 232
8.2.2 创建项目 232
8.2.3 编写获取IP的爬虫 233
8.2.4 编写检测IP的爬虫 238
8.2.5 编写调度程序 240
8.2.6 编写获取代理IP的接口 241
8.2.7 使用代理 243
8.3 用Scrapyrt调度Scrapy 243
8.3.1 相关文档与安装Scrapyrt 243
8.3.2 Scrapyrt GET请求相关参数 244
8.3.3 Scrapyrt POST请求相关参数 246
8.4 用Docker部署Scrapy 246
8.4.1 Docker简介 246
8.4.2 下载并安装Docker 247
8.4.3 创建Dockerfile 249
8.4.4 构建Docker镜像 250
8.4.5 把生成的Docker镜像推送到Docker Hub 251
8.4.6 在云服务器上运行Docker镜像 253
第9章 数据分析案例:Python岗位行情 254
9.1 数据爬取 254
9.2 NumPy库和pandas库 258
9.2.1 ndarray数组 259
9.2.2 ndarray数组的常用操作 260
9.2.3 pandas库 263
9.3 用Matplotlib实现数据可视化 268
9.3.1 Matplotlib中文乱码问题 269
9.3.2 Matplotlib绘制显示不全 270
9.3.3 用Matplotlib生成图表并进行分析 271
9.4 用Wordcloud库进行词云绘制 275
9.4.1 Wordcloud简介 275
9.4.2 Wordcloud构造函数与常用方法 276
9.4.3 词云绘制 277
9.5 小结 280
第10章 数据分析案例:某婚恋网站交友情况分析 281
10.1 数据爬取 281
10.2 安装Jupyter Notebook 287
10.3 安装pyecharts 288
10.4 数据分析 289
10.4.1 读取CSV文件里的数据 289
10.4.2 分析身高 290
10.4.3 分析学历 292
10.4.4 分析年龄 292
10.4.5 分析城市 294
10.4.6 分析交友宣言 294
10.5 小结 296

版权声明:
作者:admin
链接:https://manboo.net/36.html
来源:学习笔记
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
QQ群
< <上一篇
下一篇>>
文章目录
关闭
目 录