Python网络爬虫基础教程(第2版)

网络爬虫教程
分享 推荐 0 收藏 22 阅读 1.3K
黑马程序员 (作者) 978-7-115-68925-2

关于本书的内容有任何问题,请联系 范博涛

1.黑马程序员Python系列教材改版,融入AI技术;
2.本书配套丰富的教学资源,包括教学 PPT、教学大纲、教学设计、源代码、课后习题及答案等。为帮助读者更好地学习本书中的内容,编写团队还提供了在线答疑服务。

内容摘要

网络爬虫是一种按照一定的规则,自动请求万维网网站并采集网页数据的程序或脚本。它可以代替人进行信息采集,能够自动采集并高效利用互联网中的数据,因此在市场的应用需求中占据重要位置。
本书以Windows为主要开发平台,系统、全面地讲解Python网络爬虫的相关知识。本书的主要内容包括认识网络爬虫、网页请求原理、抓取静态网页数据、解析网页数据、抓取动态网页数据、提升网络爬虫速度、存储数据、验证码识别、初识网络爬虫框架Scrapy、Scrapy核心组件与CrawlSpider类、分布式网络爬虫Scrapy-Redis。
本书既可作为高等教育本、专科院校计算机相关专业的教材,也可作为Python网络爬虫爱好者的自学参考书。

目录

第1章 认识网络爬虫 1
学习目标 1
1.1 什么是网络爬虫 1
1.2 网络爬虫的应用场景 3
1.3 网络爬虫合法性探究 4
1.3.1 Robots协议 4
1.3.2 防爬虫应对策略 6
1.4 网络爬虫的工作原理和流程 7
1.4.1 网络爬虫的工作原理 7
1.4.2 网络爬虫抓取网页的流程 10
1.5 网络爬虫实现技术探究 11
1.5.1 网络爬虫的实现技术 11
1.5.2 使用Python实现网络爬虫的
流程 12
1.6 AI赋能网络爬虫 13
1.6.1 AIGC工具的安装与使用 13
1.6.2 使用AIGC工具快速实现网络
爬虫 17
1.7 本章小结 19
1.8 习题 20
第2章 网页请求原理 21
学习目标 21
2.1 浏览器加载网页的完整过程 21
2.2 HTTP基础 22
2.2.1 URL简介 22
2.2.2 HTTP和HTTPS 23
2.2.3 HTTP请求的格式 24
2.2.4 HTTP响应的格式 26
2.3 网页基础 28
2.3.1 网页开发技术 28
2.3.2 网页的结构 30
2.3.3 网页的分类 31
2.3.4 网页数据的格式 34
2.4 HTTP抓包工具——Fiddler 35
2.4.1 Fiddler的工作原理 35
2.4.2 Fiddler的下载与安装 36
2.4.3 Fiddler工作界面详解 38
2.4.4 Fiddler捕获HTTPS会话的
设置 41
2.4.5 Fiddler的基本使用 45
2.5 浏览器开发者工具 46
2.6 本章小结 49
2.7 习题 49
第3章 抓取静态网页数据 51
学习目标 51
3.1 抓取静态网页的技术 51
3.2 发送基本请求 52
3.2.1 发送GET请求 52
3.2.2 发送POST请求 54
3.2.3 处理响应 56
3.3 处理复杂请求 58
3.3.1 定制请求头 58
3.3.2 验证Cookie 61
3.3.3 保持会话 62
3.3.4 SSL证书验证 64
3.4 设置代理服务器 65
3.4.1 代理服务器简介 65
3.4.2 设置代理服务器的步骤 66
3.4.3 检测代理IP地址的有效性 68
3.5 处理异常 69
3.6 实践项目:抓取黑马程序员社区中的
论坛的数据 70
【项目目标】 71
【项目分析】 71
【项目实现】 72
3.7 本章小结 74
3.8 习题 74
第4章 解析网页数据 76
学习目标 76
4.1 解析网页数据的技术 76
4.2 正则表达式与re模块 78
4.2.1 正则表达式的语法 78
4.2.2 re模块的使用 80
4.3 XPath与lxml库 81
4.3.1 XPath简介 81
4.3.2 XPath语法 82
4.3.3 XPath开发工具 85
4.3.4 lxml库的核心类 87
4.4 Beautiful Soup库 90
4.4.1 Beautiful Soup简介 90
4.4.2 创建BeautifulSoup类的对象 91
4.4.3 通过查找方法选取节点 93
4.4.4 通过CSS选择器选取节点 95
4.5 JSONPath与jsonpath模块 97
4.5.1 JSONPath语法 97
4.5.2 jsonpath模块的使用 99
4.6 实践项目:采集黑马程序员社区中的
论坛帖子的详细信息 102
【项目目标】 102
【项目分析】 103
【项目实现】 104
4.7 本章小结 107
4.8 习题 107
第5章 抓取动态网页数据 109
学习目标 109
5.1 抓取动态网页的技术 109
5.2 Selenium和WebDriver的安装
与配置 111
5.3 Selenium的基本使用 114
5.3.1 WebDriver类的常用属性和
方法 114
5.3.2 定位元素 117
5.3.3 鼠标操作 119
5.3.4 下拉列表框操作 122
5.3.5 弹出框处理 124
5.3.6 窗口切换 126
5.3.7 页面等待 127
5.4 实践项目:采集集信达平台的短信
服务日志信息 131
【项目目标】 131
【项目分析】 132
【项目实现】 136
5.5 本章小结 140
5.6 习题 140
第6章 提升网络爬虫速度 142
学习目标 142
6.1 网络爬虫速度提升方案 142
6.2 多线程爬虫 144
6.2.1 多线程爬虫的运行流程 144
6.2.2 多线程爬虫的实现技术 145
6.2.3 多线程爬虫基本示例 148
6.2.4 多线程爬虫性能分析 152
6.3 协程爬虫 153
6.3.1 协程爬虫的运行流程 153
6.3.2 协程爬虫的实现技术 153
6.3.3 协程爬虫基本示例 157
6.3.4 协程爬虫性能分析 159
6.4 实践项目:采集黑马头条的评论
列表 160
【项目目标】 160
【项目分析】 160
【项目实现】 162
6.5 本章小结 165
6.6 习题 165
第7章 存储数据 167
学习目标 167
7.1 数据存储的方式 167
7.2 存储至MongoDB数据库 168
7.2.1 下载与安装MongoDB 169
7.2.2 使用Python操作MongoDB 173
7.3 存储至Redis数据库 176
7.3.1 下载与安装Redis 176
7.3.2 使用Python操作Redis 179
7.3.3 Redis桌面管理工具 181
7.4 实践项目:采集小兔鲜儿网的商品
信息 184
【项目目标】 184
【项目分析】 186
【项目实现】 188
7.5 本章小结 192
7.6 习题 192
第8章 验证码识别 194
学习目标 194
8.1 字符验证码的识别 194
8.2 滑动拼图验证码的识别 202
8.3 点选验证码的识别 203
8.4 实践项目:识别滑动拼图验证码并
登录黑马头条后台管理系统 211
【项目目标】 211
【项目分析】 212
【项目实现】 213
8.5 本章小结 220
8.6 习题 220
第9章 初识网络爬虫框架
Scrapy 222
学习目标 222
9.1 Scrapy框架简介 222
9.2 Scrapy框架的架构 223
9.3 Scrapy框架的运作流程 224
9.4 Scrapy框架的安装 226
9.5 Scrapy框架的基本操作 228
9.5.1 新建Scrapy项目 228
9.5.2 明确采集目标 229
9.5.3 制作爬虫 230
9.5.4 永久存储数据 235
9.6 实践项目:采集黑马程序员视频库的
视频信息 236
【项目目标】 236
【项目分析】 236
【项目实现】 237
9.7 本章小结 239
9.8 习题 239
第10章 Scrapy核心组件与
CrawlSpider类 241
学习目标 241
10.1 Spiders组件 241
10.2 Item Pipeline组件 243
10.3 Downloader Middlewares
中间件 245
10.3.1 内置下载中间件 245
10.3.2 自定义下载中间件 246
10.3.3 激活下载中间件 248
10.4 Settings组件 248
10.5 CrawlSpider类 249
10.5.1 CrawlSpider类简介 250
10.5.2 CrawlSpider类的工作原理 251
10.5.3 通过Rule类决定抓取规则 253
10.5.4 通过LinkExtractor类提取
链接 254
10.6 实践项目:采集黑马程序员视频库
的公开课信息 255
【项目目标】 256

【项目分析】 256
【项目实现】 257
10.7 本章小结 259
10.8 习题 259
第11章 分布式网络爬虫
Scrapy-Redis 261
学习目标 261
11.1 分布式网络爬虫简介 261
11.2 Scrapy-Redis的架构 263
11.3 Scrapy-Redis的运作流程 265
11.4 Scrapy-Redis的开发准备 266
11.4.1 安装Scrapy-Redis 266
11.4.2 修改配置文件 266
11.4.3 测试远程连接 267
11.5 Scrapy-Redis的基本操作 269
11.5.1 新建Scrapy-Redis项目 269
11.5.2 明确采集目标 270
11.5.3 制作爬虫 271
11.5.4 运行爬虫 272
11.5.5 使用管道存储数据 273
11.6 实践项目:基于分布式网络爬虫
采集公开课信息 275
【项目目标】 275
【项目分析】 275
【项目实现】 275
11.7 本章小结 279
11.8 习题 280

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

张治元,湖南邮电职业技术学院高级督办,曾任教务处处长、信息技术学院院长,副教授,中共党员。先后担任湖南省职业院校省级专业带头人、湖南电信科学技术委员会数据组成员、湖南教育开源软件推进联盟常务理事、湖南省职业技能鉴定专家委员会成员。主持省级职业教育重点建设项目3项、科研课题3项,发表论文30多篇(其中,EI检索2篇、CSCD核心期刊2篇、中文核心期刊2篇),主编出版教材3本,参编职业教育国家规划教材2本。

购买本书用户

相关图书

人邮微信
本地服务
人邮微信
教师服务
二维码
读者服务
读者服务
返回顶部
返回顶部