Python网络爬虫技术
第 1章 Python爬虫环境与爬虫简介 1
任务1.1 认识爬虫 1
1.1.1 爬虫的概念 1
1.1.2 爬虫的原理 2
1.1.3 爬虫的合法性与robot.txt协议 4
任务1.2 认识反爬虫 4
1.2.1 网站反爬虫的目的与手段 4
1.2.2 爬取策略制定 5
任务1.3 配置Python爬虫环境 6
1.3.1 Python爬虫相关库介绍与配置 7
查看完整
任务1.1 认识爬虫 1
1.1.1 爬虫的概念 1
1.1.2 爬虫的原理 2
1.1.3 爬虫的合法性与robot.txt协议 4
任务1.2 认识反爬虫 4
1.2.1 网站反爬虫的目的与手段 4
1.2.2 爬取策略制定 5
任务1.3 配置Python爬虫环境 6
1.3.1 Python爬虫相关库介绍与配置 7
查看完整
张良均,信息系统项目管理师,泰迪杯全国大学生数据挖掘竞赛(www.tipdm.org)发起人。华南师范大学、广东工业大学兼职教授,广东省工业与应用数学学会理事。兼有大型高科技企业和高校的工作经历,主要从事大数据挖掘及其应用的策划、研发及咨询培训。全国计算机技术与软件专业技术资格(水平)考试继续教育和CDA数据分析师培训讲师。发表数据挖掘相关论文数20余篇,已取得国家发明专利12项,主编《Hadoop大数据分析与挖掘实战》《Python数据分析与挖掘实战》《R语言数据分析与挖掘实战》等多本畅销图书,主持并完成科技项目9项。获得SAS、SPSS数据挖掘认证及Hadoop开发工程师证书,具有电力、电信、银行、制造企业、电子商务和电子政务的项目经验和行业背景。
本书以任务为导向,较为全面地介绍了不同场景下Python爬取网络数据的方法,包括静态网页、动态网页、登录后才能访问的网页、PC客户端、App等场景。全书共7章,第1章介绍了爬虫与反爬虫的基本概念,以及Python爬虫环境的配置,第2章介绍了爬取过程中涉及的网页前端基础,第3章介绍了在静态网页中爬取数据的过程,第4章介绍了在动态网页中爬取数据的过程,第5章介绍了对登录后才能访问的网页进行模拟登录的方法,第6章介绍了爬取PC客户端、App的数据的方法,第7章介绍了使用Scrapy爬虫框架爬取数据的过程。本书所有章节都包含了实训与课后习题,通过练习和操作实战,可帮助读者巩固所学的内容。
第 1章 Python爬虫环境与爬虫简介 1
任务1.1 认识爬虫 1
1.1.1 爬虫的概念 1
1.1.2 爬虫的原理 2
1.1.3 爬虫的合法性与robot.txt协议 4
任务1.2 认识反爬虫 4
1.2.1 网站反爬虫的目的与手段 4
1.2.2 爬取策略制定 5
任务1.3 配置Python爬虫环境 6
1.3.1 Python爬虫相关库介绍与配置 7
1.3.2 配置MySQL数据库 7
1.3.3 配置MongoDB数据库 16
小结 20
实训 Python爬虫环境配置 21
课后习题 21
第 2章 网页前端基础 23
任务2.1 认识Python网络编程 23
2.1.1 了解Python网络编程Socket库 24
2.1.2 使用Socket库进行TCP编程 26
2.1.3 使用Socket库进行UDP编程 28
任务2.2 认识HTTP 29
2.2.1 熟悉HTTP请求方法与过程 30
2.2.2 熟悉常见HTTP状态码 32
2.2.3 熟悉HTTP头部信息 33
2.2.4 熟悉Cookie 39
小结 41
实训 使用Socket库连接百度首页 41
课后习题 42
第3章 简单静态网页爬取 43
任务3.1 实现HTTP请求 43
3.1.1 使用urllib 3库实现 44
3.1.2 使用Requests库实现 47
任务3.2 解析网页 52
3.2.1 使用Chrome开发者工具查看网页 52
3.2.2 使用正则表达式解析网页 58
3.2.3 使用Xpath解析网页 61
3.2.4 使用Beautiful Soup库解析网页 66
任务3.3 数据存储 74
3.3.1 将数据存储为JSON文件 74
3.3.2 将数据存储到MySQL数据库 75
小结 78
实训 79
实训1 生成GET请求并获取指定网页内容 79
实训2 搜索目标节点并提取文本内容 79
实训3 在数据库中建立新表并导入数据 80
课后习题 80
第4章 常规动态网页爬取 82
任务4.1 逆向分析爬取动态网页 82
4.1.1 了解静态网页和动态网页的区别 82
4.1.2 逆向分析爬取动态网页 85
任务4.2 使用Selenium库爬取动态网页 88
4.2.1 安装Selenium库及下载浏览器补丁 88
4.2.2 打开浏览对象并访问页面 89
4.2.3 页面等待 90
4.2.4 页面操作 91
4.2.5 元素选取 93
4.2.6 预期条件 96
任务4.3 存储数据至MongoDB数据库 98
4.3.1 了解MongoDB数据库和MySQL数据库的区别 99
4.3.2 将数据存储到MongoDB数据库 100
小结 103
实训 103
实训1 爬取网页“http://www.ptpress. com.cn”的推荐图书信息 103
实训2 爬取某网页的Java图书信息 104
实训3 将数据存储到MongoDB数据库中 104
课后习题 104
第5章 模拟登录 106
任务5.1 使用表单登录方法实现模拟登录 106
5.1.1 查找提交入口 106
5.1.2 查找并获取需要提交的表单数据 108
5.1.3 使用POST请求方法登录 112
任务5.2 使用Cookie登录方法实现模拟登录 114
5.2.1 使用浏览器Cookie登录 115
5.2.2 基于表单登录的Cookie登录 117
小结 119
实训 119
实训1 使用表单登录方法模拟登录数睿思论坛 119
实训2 使用浏览器Cookie模拟登录数睿思论坛 120
实训3 基于表单登录后的Cookie模拟登录数睿思论坛 120
课后习题 120
第6章 终端协议分析 122
任务6.1 分析PC客户端抓包 122
6.1.1 了解HTTP Analyzer工具 122
6.1.2 爬取千千音乐PC客户端数据 125
任务6.2 分析App抓包 126
6.2.1 了解Fiddler工具 127
6.2.2 分析人民日报App 130
小结 132
实训 133
实训1 抓取千千音乐PC客户端的推荐歌曲信息 133
实训2 爬取人民日报App的旅游模块信息 134
课后习题 134
第7章 Scrapy爬虫 135
任务7.1 认识Scarpy 135
7.1.1 了解Scrapy爬虫的框架 135
7.1.2 熟悉Scrapy的常用命令 137
任务7.2 通过Scrapy爬取文本信息 138
7.2.1 创建Scrapy爬虫项目 138
7.2.2 修改items/pipelines脚本 140
7.2.3 编写spider脚本 143
7.2.4 修改settings脚本 148
任务7.3 定制中间件 152
7.3.1 定制下载器中间件 152
7.3.2 定制Spider中间件 156
小结 157
实训 157
实训1 爬取“http://www.tipdm.org”的所有新闻动态 157
实训2 定制BdRaceNews爬虫项目的中间件 158
课后习题 158
附录A 160
附录B 163
参考文献 166
^ 收 起
任务1.1 认识爬虫 1
1.1.1 爬虫的概念 1
1.1.2 爬虫的原理 2
1.1.3 爬虫的合法性与robot.txt协议 4
任务1.2 认识反爬虫 4
1.2.1 网站反爬虫的目的与手段 4
1.2.2 爬取策略制定 5
任务1.3 配置Python爬虫环境 6
1.3.1 Python爬虫相关库介绍与配置 7
1.3.2 配置MySQL数据库 7
1.3.3 配置MongoDB数据库 16
小结 20
实训 Python爬虫环境配置 21
课后习题 21
第 2章 网页前端基础 23
任务2.1 认识Python网络编程 23
2.1.1 了解Python网络编程Socket库 24
2.1.2 使用Socket库进行TCP编程 26
2.1.3 使用Socket库进行UDP编程 28
任务2.2 认识HTTP 29
2.2.1 熟悉HTTP请求方法与过程 30
2.2.2 熟悉常见HTTP状态码 32
2.2.3 熟悉HTTP头部信息 33
2.2.4 熟悉Cookie 39
小结 41
实训 使用Socket库连接百度首页 41
课后习题 42
第3章 简单静态网页爬取 43
任务3.1 实现HTTP请求 43
3.1.1 使用urllib 3库实现 44
3.1.2 使用Requests库实现 47
任务3.2 解析网页 52
3.2.1 使用Chrome开发者工具查看网页 52
3.2.2 使用正则表达式解析网页 58
3.2.3 使用Xpath解析网页 61
3.2.4 使用Beautiful Soup库解析网页 66
任务3.3 数据存储 74
3.3.1 将数据存储为JSON文件 74
3.3.2 将数据存储到MySQL数据库 75
小结 78
实训 79
实训1 生成GET请求并获取指定网页内容 79
实训2 搜索目标节点并提取文本内容 79
实训3 在数据库中建立新表并导入数据 80
课后习题 80
第4章 常规动态网页爬取 82
任务4.1 逆向分析爬取动态网页 82
4.1.1 了解静态网页和动态网页的区别 82
4.1.2 逆向分析爬取动态网页 85
任务4.2 使用Selenium库爬取动态网页 88
4.2.1 安装Selenium库及下载浏览器补丁 88
4.2.2 打开浏览对象并访问页面 89
4.2.3 页面等待 90
4.2.4 页面操作 91
4.2.5 元素选取 93
4.2.6 预期条件 96
任务4.3 存储数据至MongoDB数据库 98
4.3.1 了解MongoDB数据库和MySQL数据库的区别 99
4.3.2 将数据存储到MongoDB数据库 100
小结 103
实训 103
实训1 爬取网页“http://www.ptpress. com.cn”的推荐图书信息 103
实训2 爬取某网页的Java图书信息 104
实训3 将数据存储到MongoDB数据库中 104
课后习题 104
第5章 模拟登录 106
任务5.1 使用表单登录方法实现模拟登录 106
5.1.1 查找提交入口 106
5.1.2 查找并获取需要提交的表单数据 108
5.1.3 使用POST请求方法登录 112
任务5.2 使用Cookie登录方法实现模拟登录 114
5.2.1 使用浏览器Cookie登录 115
5.2.2 基于表单登录的Cookie登录 117
小结 119
实训 119
实训1 使用表单登录方法模拟登录数睿思论坛 119
实训2 使用浏览器Cookie模拟登录数睿思论坛 120
实训3 基于表单登录后的Cookie模拟登录数睿思论坛 120
课后习题 120
第6章 终端协议分析 122
任务6.1 分析PC客户端抓包 122
6.1.1 了解HTTP Analyzer工具 122
6.1.2 爬取千千音乐PC客户端数据 125
任务6.2 分析App抓包 126
6.2.1 了解Fiddler工具 127
6.2.2 分析人民日报App 130
小结 132
实训 133
实训1 抓取千千音乐PC客户端的推荐歌曲信息 133
实训2 爬取人民日报App的旅游模块信息 134
课后习题 134
第7章 Scrapy爬虫 135
任务7.1 认识Scarpy 135
7.1.1 了解Scrapy爬虫的框架 135
7.1.2 熟悉Scrapy的常用命令 137
任务7.2 通过Scrapy爬取文本信息 138
7.2.1 创建Scrapy爬虫项目 138
7.2.2 修改items/pipelines脚本 140
7.2.3 编写spider脚本 143
7.2.4 修改settings脚本 148
任务7.3 定制中间件 152
7.3.1 定制下载器中间件 152
7.3.2 定制Spider中间件 156
小结 157
实训 157
实训1 爬取“http://www.tipdm.org”的所有新闻动态 157
实训2 定制BdRaceNews爬虫项目的中间件 158
课后习题 158
附录A 160
附录B 163
参考文献 166
^ 收 起
张良均,信息系统项目管理师,泰迪杯全国大学生数据挖掘竞赛(www.tipdm.org)发起人。华南师范大学、广东工业大学兼职教授,广东省工业与应用数学学会理事。兼有大型高科技企业和高校的工作经历,主要从事大数据挖掘及其应用的策划、研发及咨询培训。全国计算机技术与软件专业技术资格(水平)考试继续教育和CDA数据分析师培训讲师。发表数据挖掘相关论文数20余篇,已取得国家发明专利12项,主编《Hadoop大数据分析与挖掘实战》《Python数据分析与挖掘实战》《R语言数据分析与挖掘实战》等多本畅销图书,主持并完成科技项目9项。获得SAS、SPSS数据挖掘认证及Hadoop开发工程师证书,具有电力、电信、银行、制造企业、电子商务和电子政务的项目经验和行业背景。
本书以任务为导向,较为全面地介绍了不同场景下Python爬取网络数据的方法,包括静态网页、动态网页、登录后才能访问的网页、PC客户端、App等场景。全书共7章,第1章介绍了爬虫与反爬虫的基本概念,以及Python爬虫环境的配置,第2章介绍了爬取过程中涉及的网页前端基础,第3章介绍了在静态网页中爬取数据的过程,第4章介绍了在动态网页中爬取数据的过程,第5章介绍了对登录后才能访问的网页进行模拟登录的方法,第6章介绍了爬取PC客户端、App的数据的方法,第7章介绍了使用Scrapy爬虫框架爬取数据的过程。本书所有章节都包含了实训与课后习题,通过练习和操作实战,可帮助读者巩固所学的内容。
比价列表
公众号、微信群
缺书网
微信公众号
微信公众号
扫码进群
实时获取购书优惠
实时获取购书优惠