名校名师精品系列教材

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

“十四五”职业教育国家规划教材
分享 推荐 0 收藏 24 阅读 1.1K
黄锐军 (主编) 978-7-115-67621-4

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

项目驱动,循序渐进:全书精心设计6个循序渐进的实战项目,从外汇数据、名言警句到旅游、商城网站,层层递进,帮助读者从入门到掌握完整的爬虫技术体系。
主流框架全面覆盖:系统讲解 Python 爬虫必备工具与框架,包括requests、BeautifulSoup、xpath、多线程爬取、Scrapy分布式框架以及Selenium动态爬取,满足多场景数据采集需求。
理论结合实践:每个项目均配有本地模拟网站,降低学习难度,保证初学者在安全环境下掌握关键技术,后续轻松过渡到实际网站数据采集。
教学设计优化升级:在第2版中对章节结构进行调整,独立设置xpath项目,条理更清晰,学习路径更科学,教学适用性更强。
配套精品课程:与中国大学MOOC国家精品课程配套,读者可同步获取课程视频与资源,实现教材与课程的无缝衔接。

内容摘要

本书基于Python语言介绍爬虫的基础知识。本书包括6个项目,分别为爬取外汇网站数据、爬取名言网站数据、爬取天气网站数据、爬取旅游网站数据、爬取图书网站数据、爬取商城网站数据,通过这些项目讲解Python的Web访问技术、BeautifulSoup的数据分析与提取技术、xpath的数据分析与提取技术、深度优先与广度优先顺序爬取技术、多线程网页爬取技术、scrapy分布式爬取框架技术、selenium爬虫程序技术等。本书每个项目的编写均遵循由浅入深的学习规律,采取理论与实践相结合的方式来引导读者完成实战项目。

目录

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

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

项目3 爬取天气网站数据 66
3.1 天气网站项目任务 66
3.2 使用lxml装载HTML文档 67
3.2.1 创建模拟网站 67
3.2.2 装载HTML文档 68
3.3 使用xpath查找HTML元素 71
3.3.1 lxml元素类型 71
3.3.2 使用xpath查找元素的规则 72
3.3.3 xpath与特殊元素 81
3.4 综合项目 爬取模拟天气网站数据 82
3.4.1 创建模拟天气网站 82
3.4.2 爬取天气数据 85
3.4.3 设计存储数据库 86
3.4.4 编写爬虫程序 86
3.4.5 执行爬虫程序 88
3.5 实战项目 爬取实际天气网站数据 89
3.5.1 解析网站HTML代码 89
3.5.2 编写爬虫程序 92
3.5.3 执行爬虫程序 95
项目总结 97
练习3 97

项目4 爬取旅游网站数据 98
4.1 旅游网站项目任务 98
4.2 网站树的爬取路径 99
4.2.1 Web服务器网站 100
4.2.2 使用递归程序爬取数据 101
4.2.3 深度优先爬取数据 102
4.2.4 广度优先爬取数据 104
4.3 爬取多页面网站数据 105
4.3.1 建立旅游网站服务器 105
4.3.2 爬取网站数据 108
4.3.3 编写爬虫程序 108
4.4 Python实现多线程 110
4.4.1 Python的Daemon线程 110
4.4.2 线程的等待 111
4.4.3 多线程与资源 112
4.5 爬取旅游网站图像 114
4.5.1 重新设计旅游网站 114
4.5.2 单线程爬取图像 116
4.5.3 多线程爬取图像 118
4.6 综合项目 爬取模拟旅游网站数据 120
4.6.1 旅游数据存储 120
4.6.2 编写爬虫程序 121
4.6.3 执行爬虫程序 123
4.7 实战项目 爬取实际旅游网站数据 125
4.7.1 网站网页分析 125
4.7.2 网站数据爬取 126
4.7.3 网站数据存储 127
4.7.4 编写爬虫程序 128
4.7.5 执行爬虫程序 132
项目总结 132
练习4 133

项目5 爬取图书网站数据 134
5.1 图书网站项目任务 134
5.2 使用scrapy创建爬虫程序 136
5.2.1 创建网站服务器 136
5.2.2 安装scrapy框架 136
5.2.3 创建scrapy项目 136
5.2.4 程序入口位置 138
5.2.5 Python的yield语句 139
5.3 scrapy结合BeautifulSoup爬取数据 140
5.3.1 创建模拟图书网站 140
5.3.2 解析网站HTML代码 141
5.3.3 爬取图书图像 142
5.3.4 编写爬虫程序 143
5.3.5 执行爬虫程序 144
5.4 scrapy通过xpath查找元素 144
5.4.1 scrapy的xpath简介 144
5.4.2 使用xpath查找HTML元素 146
5.4.3 使用xpath与BeautifulSoup 150
5.5 scrapy爬取关联网页数据 150
5.5.1 创建模拟图书网站 150
5.5.2 程序爬取网页的顺序 152
5.5.3 理解scrapy的分布式特性 155
5.6 scrapy通过xpath爬取数据 155
5.6.1 创建模拟图书网站 155
5.6.2 解析网站HTML代码 157
5.6.3 爬取图书图像 158
5.6.4 设计数据库存储 159
5.6.5 编写爬虫程序 159
5.6.6 执行爬虫程序 161
5.7 scrapy通过管道存储数据 161
5.7.1 创建模拟图书网站 161
5.7.2 编写数据字段类 164
5.7.3 编写爬虫程序类 164
5.7.4 编写数据管道类 166
5.7.5 设置scrapy的配置文件 167
5.7.6 执行爬虫程序 168
5.8 综合项目 爬取模拟图书网站数据 168
5.8.1 创建模拟图书网站 169
5.8.2 编写数据字段类 171
5.8.3 编写数据管道类 171
5.8.4 编写爬虫程序类 173
5.8.5 设置scrapy的配置文件 175
5.8.6 执行爬虫程序 175
5.9 实战项目 爬取实际图书网站数据 175
5.9.1 解析网站HTML代码 175
5.9.2 爬取网站图书数据 178
5.9.3 实现自动翻页 179
5.9.4 编写爬虫程序 181
5.9.5 执行爬虫程序 184
项目总结 185
练习5 185

项目6 爬取商城网站数据 187
6.1 商城网站项目任务 187
6.2 使用selenium编写爬虫程序 189
6.2.1 JavaScript程序控制网页 189
6.2.2 普通爬虫程序的问题 190
6.2.3 安装selenium框架与Chrome驱动程序 191
6.2.4 编写selenium爬虫程序 192
6.3 使用selenium查找HTML元素 193
6.3.1 创建模拟商城网站 193
6.3.2 使用xpath查找元素 195
6.3.3 查找元素的文本与属性 195
6.3.4 使用id值查找元素 197
6.3.5 使用name属性值查找元素 197
6.3.6 使用CSS查找元素 197
6.3.7 使用tagName查找元素 198
6.3.8 使用文本查找超链接 198
6.3.9 使用class值查找元素 199
6.4 使用selenium实现用户登录 200
6.4.1 创建用户登录网站 200
6.4.2 使用元素动作 201
6.4.3 编写爬虫程序 202
6.4.4 执行JavaScript程序 203
6.5 使用selenium爬取AJAX网页数据 205
6.5.1 创建AJAX网站 205
6.5.2 理解selenium爬虫程序 207
6.5.3 编写爬虫程序 210
6.5.4 执行爬虫程序 211
6.6 使用selenium等待HTML元素 211
6.6.1 创建延迟模拟网站 211
6.6.2 编写爬虫程序 213
6.6.3 selenium强制等待 213
6.6.4 selenium隐式等待 214
6.6.5 selenium循环与显式等待 214
6.6.6 selenium显式等待形式 216
6.7 综合项目 爬取模拟商城网站数据 217
6.7.1 创建模拟商城网站 217
6.7.2 爬取网站数据 221
6.7.3 设计数据存储 222
6.7.4 编写爬虫程序 222
6.7.5 执行爬虫程序 226
6.8 实战项目 爬取实际商城网站数据 226
6.8.1 解析网页HTML代码 226
6.8.2 爬取网页数据 230
6.8.3 实现网页翻页 231
6.8.4 编写爬虫程序 233
6.8.5 执行爬虫程序 237
项目总结 239
练习6 239

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

黄锐军,深圳信息职业技术大学教授,从事职业教育34年,一直工作在教学第一线,积累了丰富的教学经验。主持完成2门国家精品课程(《Python程序设计》、《Python网络爬虫程序技术》)。先后主编出版教材9本,其中《Python爬虫项目教程(微课版)》等3本获评国家十一五、十三五、十四五规划教材。《Python程序设计》教材发行量达30余万册,被全国500多所院校选用。

同系列书

相关图书

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