名校名师精品系列教材

Python爬虫项目教程(微课版)

“十四五”职业教育国家规划教材。以案例项目展开,理论与实践相结合,轻松掌握Python网络爬虫技术
分享 推荐 6 收藏 176 阅读 15.7K
黄锐军 (主编) 978-7-115-56999-8

关于本书的内容有任何问题,请联系 初美呈

紧扣学生为中心的主线,在教材中融入课程思政元素,培养爱党爱国、爱岗敬业、高素质高技能的软件人才。
使用项目驱动的形式编写,每个项目涵盖了不同的知识与技能点,各个项目按“任
务目标”“知识内容”“案例实践”的结构编写。
名校名师20余年授课经验集结成书

内容摘要

本书入选“十四五”职业教育国家规划教材。本书以Python语言为基础,介绍了爬虫的基础知识。本书包括6个实战项目,分别为爬取外汇网站数据、爬取名言网站数据、爬取电影网站数据、爬取图书网站数据、爬取商城网站数据、爬取景区网站数据,通过这些项目讲解了Python的Web访问技术、BeautifulSoup的数据分析与提取技术、深度优先与广度优先顺序爬取技术、多线程网页爬取技术、scrapy分布式爬取框架技术、selenium爬虫程序技术、AWS中的DynamoDB数据库的NoSQL存储技术等。本书每个项目都遵循由浅入深的学习规律,采取理论与实践相结合的方式来引导读者完成实战。
本书可作为计算机软件技术专业及其相关专业的程序设计课程教材。

目录

项目1 爬取外汇网站数据 1
1.1 项目任务 1
1.2 搭建爬虫程序开发环境 1
1.2.1 理解爬虫程序 2
1.2.2 搭建开发环境 2
1.3 使用Flask创建Web网站 3
1.3.1 安装Flask框架 3
1.3.2 创建模拟外汇网站 4
1.3.3 编写客户端程序并获取网站的HTML代码 5
1.4 使用GET方法访问Web网站 7
1.4.1 客户端使用GET方法发送数据 7
1.4.2 服务器端使用GET方法获取数据 8
1.5 使用POST方法访问Web网站 9
1.5.1 客户端使用POST方法发送数据 9
1.5.2 服务器端使用POST方法获取数据 10
1.5.3 混合使用GET与POST方法 11
1.6 使用正则表达式匹配数据 13
1.6.1 使用正则表达式匹配字符串 14
1.6.2 使用正则表达式爬取数据 17
1.7 综合项目 爬取模拟外汇网站数据 18
1.7.1 创建模拟外汇网站 18
1.7.2 解析网站的HTML代码 19
1.7.3 设计存储数据库 19
1.7.4 编写爬虫程序 20
1.7.5 执行爬虫程序 22
1.8 实战项目 爬取实际外汇网站数据 22
1.8.1 解析网站的HTML代码 22
1.8.2 爬取网站外汇汇率数据 24
1.8.3 设计存储数据库 25
1.8.4 编写爬虫程序 26
1.8.5 执行爬虫程序 28
项目总结 29
练习1 29

项目2 爬取名言网站数据 30
2.1 项目任务 30
2.2 使用BeautifulSoup装载HTML文档 30
2.2.1 创建模拟名言网站 31
2.2.2 安装BeautifulSoup程序包 32
2.2.3 装载HTML文档 32
2.3 使用BeautifulSoup查找HTML元素 34
2.3.1 使用find()函数查找 34
2.3.2 查找元素属性与文本 37
2.3.3 使用find_all()函数查找 38
2.3.4 使用高级查找 40
2.4 使用BeautifulSoup遍历文档元素 42
2.4.1 获取元素节点的父节点 42
2.4.2 获取元素节点的直接子节点 43
2.4.3 获取元素节点的所有子孙节点 44
2.4.4 获取元素节点的兄弟节点 45
2.5 BeautifulSoup支持使用CSS语法进行查找 46
2.5.1 使用CSS语法查找 47
2.5.2 使用属性的语法规则 48
2.5.3 使用select()查找子孙节点 49
2.5.4 使用select()查找直接子节点 49
2.5.5 使用select()查找兄弟节点 49
2.5.6 使用select_one()查找单一元素 50
2.6 综合项目 爬取模拟名言网站数据 51
2.6.1 创建模拟名言网站 51
2.6.2 爬取名言数据 51
2.6.3 设计存储数据库 52
2.6.4 编写爬虫程序 52
2.6.5 执行爬虫程序 54
2.7 实战项目 爬取实际名言网站数据 55
2.7.1 解析网站的HTML代码 55
2.7.2 爬取全部页面的数据 56
2.7.3 编写爬虫程序 57
2.7.4 执行爬虫程序 59
项目总结 60
练习2 60

项目3 爬取电影网站数据 63
3.1 项目任务 63
3.2 简单爬取网站数据 64
3.2.1 创建模拟电影网站 65
3.2.2 爬取网站数据 66
3.2.3 编写爬虫程序 68
3.2.4 执行爬虫程序 69
3.3 递归爬取网站数据 69
3.3.1 创建模拟电影网站 69
3.3.2 解析电影网站结构 72
3.3.3 递归爬取电影网站数据 72
3.4 深度优先爬取网站数据 73
3.4.1 深度优先法 73
3.4.2 深度优先爬虫程序 74
3.5 广度优先爬取网站数据 75
3.5.1 广度优先法 75
3.5.2 广度优先爬虫程序 76
3.6 爬取翻页网站数据 77
3.6.1 使用Flask模板参数 77
3.6.2 创建翻页电影网站 81
3.6.3 编写爬虫程序 84
3.6.4 执行爬虫程序 85
3.7 爬取网站全部图像 86
3.7.1 创建模拟电影网站 86
3.7.2 使用单线程程序爬取图像 88
3.7.3 使用Python的多线程 90
3.7.4 使用多线程程序爬取图像 93
3.8 综合项目 爬取模拟电影网站数据 95
3.8.1 创建模拟电影网站 95
3.8.2 设计存储数据库 98
3.8.3 编写爬虫程序 99
3.8.4 执行爬虫程序 102
3.9 实战项目 爬取实际电影网站数据 103
3.9.1 解析电影网站的HTML代码 103
3.9.2 爬取电影网站数据 105
3.9.3 编写爬虫程序 107
3.9.4 执行爬虫程序 111
项目总结 112
练习3 112

项目4 爬取图书网站数据 113
4.1 项目任务 113
4.2 使用scrapy创建爬虫程序 115
4.2.1 创建网站服务器程序 115
4.2.2 安装scrapy框架 115
4.2.3 scrapy项目的创建 115
4.2.4 入口函数与入口地址 118
4.2.5 Python的yield语句 118
4.3 使用BeautifulSoup爬取数据 119
4.3.1 创建模拟图书网站 119
4.3.2 解析网站的HTML代码 120
4.3.3 爬取图书图像 121
4.3.4 编写爬虫程序 122
4.3.5 执行爬虫程序 123
4.4 使用XPath查找元素 123
4.4.1 scrapy的XPath简介 124
4.4.2 使用XPath查找HTML元素 125
4.4.3 使用XPath与BeautifulSoup 134
4.5 爬取关联网页数据 135
4.5.1 创建模拟图书网站 135
4.5.2 程序爬取网页的顺序 137
4.5.3 理解scrapy分布式 139
4.6 使用XPath爬取数据 140
4.6.1 创建模拟图书网站 140
4.6.2 解析网站的HTML代码 142
4.6.3 爬取图书图像 143
4.6.4 设计数据库存储 144
4.6.5 编写爬虫程序 144
4.6.6 执行爬虫程序 146
4.7 使用管道存储数据 147
4.7.1 创建模拟图书网站 147
4.7.2 编写数据字段类 149
4.7.3 编写爬虫程序类 150
4.7.4 编写数据管道类 151
4.7.5 设置scrapy的配置文件 153
4.7.6 执行爬虫程序 153
4.8 综合项目 爬取模拟图书网站数据 154
4.8.1 创建模拟图书网站 154
4.8.2 编写数据字段类 157
4.8.3 编写数据管道类 157
4.8.4 编写爬虫程序类 158
4.8.5 设置scrapy的配置文件 160
4.8.6 执行爬虫程序 160
4.9 实战项目 爬取实际图书网站数据 161
4.9.1 解析网站的HTML代码 161
4.9.2 爬取网站图书数据 164
4.9.3 实现自动翻页 165
4.9.4 编写爬虫程序 167
4.9.5 执行爬虫程序并查看爬取结果 170
项目总结 172
练习4 172

项目5 爬取商城网站数据 174
5.1 项目任务 174
5.2 使用selenium编写爬虫程序 176
5.2.1 JavaScript程序控制网页 176
5.2.2 普通爬虫程序的问题 177
5.2.3 安装selenium与Chrome驱动程序 178
5.2.4 编写selenium爬虫程序 178
5.3 使用selenium查找HTML元素 180
5.3.1 创建模拟商城网站 180
5.3.2 使用XPath查找元素 182
5.3.3 查找元素的文本与属性 182
5.3.4 使用id值查找元素 184
5.3.5 使用name属性值查找元素 184
5.3.6 使用CSS查找元素 184
5.3.7 使用tagName查找元素 185
5.3.8 使用文本查找超链接 186
5.3.9 使用class值查找元素 186
5.4 使用selenium实现用户登录 187
5.4.1 创建用户登录网站 187
5.4.2 使用元素动作 188
5.4.3 编写爬虫程序 189
5.4.4 执行JavaScript程序 191
5.5 使用selenium爬取Ajax网页数据 192
5.5.1 创建Ajax网站 192
5.5.2 理解selenium爬虫程序 194
5.5.3 编写爬虫程序 197
5.5.4 执行爬虫程序 198
5.6 使用selenium等待HTML元素 198
5.6.1 创建延迟模拟网站 199
5.6.2 编写爬虫程序 200
5.6.3 selenium强制等待 200
5.6.4 selenium隐式等待 201
5.6.5 selenium循环等待与显式等待 202
5.6.6 selenium显式等待形式 204
5.7 综合项目 爬取模拟商城网站数据 205
5.7.1 创建模拟商城网站 205
5.7.2 爬取网站数据并实现网页翻页 209
5.7.3 设计数据存储与图像存储 210
5.7.4 编写爬虫程序 211
5.7.5 执行爬虫程序 214
5.8 实战项目 爬取实际商城网站数据 215
5.8.1 解析网站的HTML代码 215
5.8.2 爬取网站数据 218
5.8.3 实现网页翻页 220
5.8.4 编写爬虫程序 222
5.8.5 执行爬虫程序 226
项目总结 228
练习5 228

项目6 爬取景区网站数据 230
6.1 项目任务 230
6.2 使用DynamoDB存储模拟景区网站数据 231
6.2.1 创建模拟景区网站 231
6.2.2 爬取网站数据 233
6.2.3 编写爬虫程序 234
6.2.4 执行爬虫程序 235
6.2.5 DynamoDB简介 235
6.3 登录AWS数据库 236
6.3.1 登录AWS 236
6.3.2 创建数据库表 238
6.4 DynamoDB数据库操作 240
6.4.1 存储数据 240
6.4.2 读取数据 241
6.4.3 修改数据 242
6.4.4 删除数据 243
6.4.5 扫描数据 243
6.4.6 删除数据库表 244
6.5 综合项目 爬取模拟景区网站数据 245
6.5.1 创建模拟景区网站 245
6.5.2 编写爬虫程序 245
6.5.3 执行爬虫程序 248
6.6 实战项目 爬取实际景区网站数据 249
6.6.1 解析网站的HTML代码 250
6.6.2 爬取网站景区数据 252
6.6.3 爬取全部页面的数据 254
6.6.4 设计存储数据库 255
6.6.5 编写爬虫程序 255
6.6.6 执行爬虫程序 259
项目总结 260
练习6 260

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

黄锐军, 深圳信息职业技术学院软件学院副教授,研究生学历。主要从事计算机软件技术课程教学,有二十多年的职业教学经历。从事软件开发,先后为深圳市职业技能鉴定中心开发了序列应用软件。

推荐用户

同系列书

  • 计算机导论

    张珏 陈承欢

    本书通过不断调整与优化,形成了结构合理、循序渐进、容量适度的10个教学单元:计算机基础知识、计算机硬件基础、计...

    ¥59.80
  • JavaScript程序设计基础与实战

    张建臣 陈承欢

    本书合理选取JavaScript的相关理论知识,优化JavaScript程序设计的教学内容,科学安排各模块的编...

    ¥69.80
  • 人工智能云平台部署与开发(微课版)

    易海博

    本书涵盖云计算和人工智能两大领域的内容,着重讲解人工智能应用在云平台上的部署与开发。全书共7个项目,分别介绍云...

    ¥49.80
  • 演讲与口才教程——演讲的力量

    陈飞

    本书重视演讲在其发展演变过程中所呈现出的阶段性特点与社会价值,并试图结合新时代的特点与要求,从演讲应用的实际场...

    ¥59.80
  • JSP开发案例教程(微课版)

    秦高德 孙志伟 陈会

    本书系统、全面地介绍有关JSP网站开发的知识、技能及实用案例,采用的开发环境是Eclipse+Tomcat+M...

    ¥69.80

相关图书

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