书籍详情
Python网络爬虫技术(第2版 微课版)
作者:池瑞楠,张良均
出版社:人民邮电出版社
出版时间:2023-10-01
ISBN:9787115625052
定价:¥49.80
内容简介
本书以任务为导向,较为全面地介绍了不同场景下Python爬取网络数据的方法。全书共分为7个项目, 个项目介绍了爬虫与反爬虫的基本概念,以及Python爬虫环境的配置,第2个项目介绍了爬取过程中涉及的网页前端基础知识,第3个项目介绍了在静态网页中爬取数据的过程,第4个项目介绍了在动态网页中爬取数据的过程,第5个项目介绍了对登录后才能访问的网页进行模拟登录的方法,第6个项目介绍了爬取PC客户端、App的数据的方法,第7个项目介绍了使用Scrapy爬虫框架爬取数据的过程。本书所有章节都包含了实训与课后习题,通过练习和操作实战,可帮助读者巩固所学的内容。 本书可以作为大数据技术爱好者的自学用书,也可作为高校大数据技术类专业的教材。
作者简介
张良均信息系统项目管理师,泰迪杯全国大学生数据挖掘竞赛(www.tipdm.org)的发起人。华南师范大学、广东工业大学兼职教授,广东省工业与应用数学学会理事。兼有大型高科技企业和高校的工作经历,主要从事大数据挖掘及其应用的策划、研发及咨询培训。全国计算机技术与软件专业技术资格(水平)考试继续教育和CDA数据分析师培训讲师。发表数据挖掘相关论文数二十余篇,已取得 发明专利12项,主编图书《神经网络实用教程》、《数据挖掘:实用案例分析》、《MATLAB数据分析与挖掘实战》等9本畅销图书,主持并完成科技项目9项。获得SAS、SPSS数据挖掘认证及Hadoop开发工程师证书,具有电力、电信、银行、制造企业、电子商务和电子政务的项目经验和行业背景。
目录
目录
项目1 了解爬虫与Python爬虫环境 1
【项目背景】 1
【学习目标】 1
【思维导图】 2
任务1.1 认识爬虫 2
1.1.1 爬虫的概念 3
1.1.2 爬虫的原理 3
1.1.3 爬虫的合法性与robots协议 5
任务1.2 认识反爬虫 7
1.2.1 网站反爬虫的目的与手段 8
1.2.2 爬取策略制定 9
任务1.3 配置Python爬虫环境 10
1.3.1 配置PyCharm 11
1.3.2 Python爬虫相关库介绍与配置 20
1.3.3 配置MySQL数据库 21
1.3.4 配置MongoDB数据库 34
小结 40
实训 Python爬虫环境配置 41
思考题 42
课后习题 42
项目2 爬虫基础知识准备 44
【项目背景】 44
【学习目标】 44
【思维导图】 45
任务2.1 认识网页基础 46
2.1.1 了解网页开发技术 47
2.1.2 了解网页的结构 49
2.1.3 了解网页的分类 56
2.1.4 了解网页的数据结构 59
任务2.2 认识HTTP 61
2.2.1 熟悉HTTP请求方法与过程 62
2.2.2 熟悉常见HTTP状态码 64
2.2.3 熟悉HTTP头部信息 65
2.2.4 熟悉Cookie 71
小结 73
实训 74
实训1 创建一个简单的网页文件 74
实训2 访问网站并查看请求和响应信息 74
思考题 75
课后习题 75
项目3 简单静态网页爬取—获取某企业官网基本信息 77
【项目背景】 77
【学习目标】 77
【思维导图】 78
任务3.1 实现HTTP请求 79
3.1.1 使用Chrome开发者工具查看网页 80
3.1.2 使用urllib 3库实现 86
3.1.3 使用Requests库实现 90
任务3.2 解析网页 95
3.2.1 使用Xpath解析网页 95
3.2.2 使用Beautiful Soup库解析网页 101
3.2.3 使用正则表达式解析网页 109
任务3.3 数据存储 113
3.3.1 将数据存储为JSON文件 113
3.3.2 将数据存储到MySQL数据库 115
小结 117
实训 118
实训1 生成GET请求并获取 网页内容 118
实训2 搜索目标节点并提取文本内容 119
实训3 在数据库中建立新表并导入数据 119
思考题 120
课后习题 120
项目4 爬取动态网页——获取图书基本信息 123
【项目背景】 123
【学习目标】 123
【思维导图】 124
任务4.1 逆向分析爬取动态网页 124
4.1.1 判别网页类型 125
4.1.2 获取动态网页信息 126
任务4.2 使用Selenium库爬取动态网页 129
4.2.1 安装Selenium库及下载浏览器驱动 130
4.2.2 打开浏览对象并访问页面 131
4.2.3 元素选取 132
4.2.4 元素交互 136
4.2.5 页面操作 138
4.2.6 页面等待 140
任务4.3 存储数据至MongoDB数据库 143
4.3.1 MongoDB数据库和MySQL数据库的区别 143
4.3.2 将数据存储到MongoDB数据库 144
小结 148
实训 149
实训1 生成GET请求并获取 网页内容 149
实训2 搜索目标节点并提取文本内容 149
思考题 150
课后习题 150
项目5 模拟登录—登录某企业官网 153
【项目背景】 153
【学习目标】 153
【思维导图】 154
任务5.1 使用表单登录方法实现模拟登录 155
5.1.1 查找提交入口 155
5.1.2 查找并获取需要提交的表单数据 158
5.1.3 使用POST请求方法登录 162
任务5.2 使用Cookie登录方法实现模拟登录 165
5.2.1 使用浏览器Cookie登录 165
5.2.2 基于表单登录的Cookie登录 168
小结 170
实训 171
实训1 使用表单登录方法模拟登录古诗文网 171
实训2 使用浏览器Cookie模拟登录古诗文网 171
实训3 基于表单登录后的Cookie模拟登录古诗文网 172
思考题 173
课后习题 173
项目6 终端协议分析——获取某音乐PC客户端和APP数据 175
【项目背景】 175
【学习目标】 176
【思维导图】 176
任务6.1 分析PC客户端抓包 177
6.1.1 了解HTTP Analyzer工具 177
6.1.2 爬取酷我音乐PC客户端数据 180
任务6.2 分析App抓包 182
6.2.1 了解Fiddler工具 182
6.2.2 分析酷我音乐App 186
小结 189
实训 189
实训1 抓取酷我音乐PC客户端的 歌曲信息 189
实训2 监控朴朴超市商品实时价格 191
思考题 192
课后习题 193
项目7 使用Scrapy爬虫——爬取某企业官网新闻动态 194
【项目背景】 194
【学习目标】 194
【思维导图】 195
任务7.1 认识Scrapy 196
7.1.1 了解Scrapy爬虫框架 196
7.1.2 熟悉Scrapy常用命令 198
任务7.2 通过Scrapy爬取文本信息 199
7.2.1 创建Scrapy爬虫项目 200
7.2.2 修改items/pipelines脚本 201
7.2.3 编写spider脚本 204
7.2.4 修改settings脚本 209
任务7.3 中间件 212
7.3.1 下载器中间件 212
7.3.2 Spider中间件 216
小结 217
实训 218
实训1 爬取“http://www.tipdm.org”的所有新闻动态 218
实训2 BdRaceNews爬虫项目的中间件 219
实训3 爬取猫眼电影“https://maoyan.com/board/4”的影片信息 220
实训4 配置Maoyan100爬虫项目的设置文件 220
思考题 221
课后习题 222
项目1 了解爬虫与Python爬虫环境 1
【项目背景】 1
【学习目标】 1
【思维导图】 2
任务1.1 认识爬虫 2
1.1.1 爬虫的概念 3
1.1.2 爬虫的原理 3
1.1.3 爬虫的合法性与robots协议 5
任务1.2 认识反爬虫 7
1.2.1 网站反爬虫的目的与手段 8
1.2.2 爬取策略制定 9
任务1.3 配置Python爬虫环境 10
1.3.1 配置PyCharm 11
1.3.2 Python爬虫相关库介绍与配置 20
1.3.3 配置MySQL数据库 21
1.3.4 配置MongoDB数据库 34
小结 40
实训 Python爬虫环境配置 41
思考题 42
课后习题 42
项目2 爬虫基础知识准备 44
【项目背景】 44
【学习目标】 44
【思维导图】 45
任务2.1 认识网页基础 46
2.1.1 了解网页开发技术 47
2.1.2 了解网页的结构 49
2.1.3 了解网页的分类 56
2.1.4 了解网页的数据结构 59
任务2.2 认识HTTP 61
2.2.1 熟悉HTTP请求方法与过程 62
2.2.2 熟悉常见HTTP状态码 64
2.2.3 熟悉HTTP头部信息 65
2.2.4 熟悉Cookie 71
小结 73
实训 74
实训1 创建一个简单的网页文件 74
实训2 访问网站并查看请求和响应信息 74
思考题 75
课后习题 75
项目3 简单静态网页爬取—获取某企业官网基本信息 77
【项目背景】 77
【学习目标】 77
【思维导图】 78
任务3.1 实现HTTP请求 79
3.1.1 使用Chrome开发者工具查看网页 80
3.1.2 使用urllib 3库实现 86
3.1.3 使用Requests库实现 90
任务3.2 解析网页 95
3.2.1 使用Xpath解析网页 95
3.2.2 使用Beautiful Soup库解析网页 101
3.2.3 使用正则表达式解析网页 109
任务3.3 数据存储 113
3.3.1 将数据存储为JSON文件 113
3.3.2 将数据存储到MySQL数据库 115
小结 117
实训 118
实训1 生成GET请求并获取 网页内容 118
实训2 搜索目标节点并提取文本内容 119
实训3 在数据库中建立新表并导入数据 119
思考题 120
课后习题 120
项目4 爬取动态网页——获取图书基本信息 123
【项目背景】 123
【学习目标】 123
【思维导图】 124
任务4.1 逆向分析爬取动态网页 124
4.1.1 判别网页类型 125
4.1.2 获取动态网页信息 126
任务4.2 使用Selenium库爬取动态网页 129
4.2.1 安装Selenium库及下载浏览器驱动 130
4.2.2 打开浏览对象并访问页面 131
4.2.3 元素选取 132
4.2.4 元素交互 136
4.2.5 页面操作 138
4.2.6 页面等待 140
任务4.3 存储数据至MongoDB数据库 143
4.3.1 MongoDB数据库和MySQL数据库的区别 143
4.3.2 将数据存储到MongoDB数据库 144
小结 148
实训 149
实训1 生成GET请求并获取 网页内容 149
实训2 搜索目标节点并提取文本内容 149
思考题 150
课后习题 150
项目5 模拟登录—登录某企业官网 153
【项目背景】 153
【学习目标】 153
【思维导图】 154
任务5.1 使用表单登录方法实现模拟登录 155
5.1.1 查找提交入口 155
5.1.2 查找并获取需要提交的表单数据 158
5.1.3 使用POST请求方法登录 162
任务5.2 使用Cookie登录方法实现模拟登录 165
5.2.1 使用浏览器Cookie登录 165
5.2.2 基于表单登录的Cookie登录 168
小结 170
实训 171
实训1 使用表单登录方法模拟登录古诗文网 171
实训2 使用浏览器Cookie模拟登录古诗文网 171
实训3 基于表单登录后的Cookie模拟登录古诗文网 172
思考题 173
课后习题 173
项目6 终端协议分析——获取某音乐PC客户端和APP数据 175
【项目背景】 175
【学习目标】 176
【思维导图】 176
任务6.1 分析PC客户端抓包 177
6.1.1 了解HTTP Analyzer工具 177
6.1.2 爬取酷我音乐PC客户端数据 180
任务6.2 分析App抓包 182
6.2.1 了解Fiddler工具 182
6.2.2 分析酷我音乐App 186
小结 189
实训 189
实训1 抓取酷我音乐PC客户端的 歌曲信息 189
实训2 监控朴朴超市商品实时价格 191
思考题 192
课后习题 193
项目7 使用Scrapy爬虫——爬取某企业官网新闻动态 194
【项目背景】 194
【学习目标】 194
【思维导图】 195
任务7.1 认识Scrapy 196
7.1.1 了解Scrapy爬虫框架 196
7.1.2 熟悉Scrapy常用命令 198
任务7.2 通过Scrapy爬取文本信息 199
7.2.1 创建Scrapy爬虫项目 200
7.2.2 修改items/pipelines脚本 201
7.2.3 编写spider脚本 204
7.2.4 修改settings脚本 209
任务7.3 中间件 212
7.3.1 下载器中间件 212
7.3.2 Spider中间件 216
小结 217
实训 218
实训1 爬取“http://www.tipdm.org”的所有新闻动态 218
实训2 BdRaceNews爬虫项目的中间件 219
实训3 爬取猫眼电影“https://maoyan.com/board/4”的影片信息 220
实训4 配置Maoyan100爬虫项目的设置文件 220
思考题 221
课后习题 222
猜您喜欢