书籍详情

Python网络爬虫技术手册:基础·实战·强化

Python网络爬虫技术手册:基础·实战·强化

作者:明日科技 著

出版社:化学工业出版社

出版时间:2022-02-01

ISBN:9787122400093

定价:¥128.00

购买这本书可以去
内容简介
  《Python网络爬虫技术手册:基础·实战·强化》是“计算机科学与技术手册系列”图书之一,该系列图书内容全面,以理论联系实际、能学到并做到为宗旨,以技术为核心,以案例为辅助,引领读者全面学习基础技术、代码编写方法和具体应用项目,旨在为想要进入相应领域或者已经在该领域深耕多年的技术人员提供新而全的技术性内容及案例。 本书是一本侧重编程基础+实践的Python爬虫图书,从基础、实战、强化三个层次循序渐进地介绍了网络爬虫入门必备知识:基础篇主要讲解网络爬虫的基础内容;实战篇主要讲解目前应用最广的各类数据库爬虫相关技术和案例;强化篇结合数据库、数据分析、可视化等进行大型项目综合实战练习。本书内容充实,给读者提供了较为丰富全面的技术支持和案例强化,通过各种示例将学习与应用相结合,打造轻松学习、零压力学习的环境,通过案例对所学知识进行综合应用,通过开发实际项目将网络爬虫的各项技能应用到实际工作中,帮助读者实现学以致用,快速掌握网络爬虫的各项技能。 本书提供丰富的资源,包含109个实例、13个实战案例、2个应用强化项目,力求为读者打造一本基础+实战+强化一体化的、精彩的Python网络爬虫图书。 本书不仅适合初学者、数据采集相关技术人员、对数据感兴趣的人员,而且适合从事其他岗位想掌握一定的数据采集能力的职场人员阅读参考。
作者简介
暂缺《Python网络爬虫技术手册:基础·实战·强化》作者简介
目录
第1篇 基础篇
第1章 爬虫基础
1.1 什么是网络爬虫 2
1.2 网络爬虫的分类 3
1.3 网络爬虫的原理 3
1.4 HTTP基本原理 3
1.4.1 什么是URL 3
1.4.2 HTTP协议 4
1.4.3 HTTP与Web服务器 4
1.4.4 浏览器中的请求和响应 5
1.5 网页的基本结构 6
1.5.1 了解HTML 6
1.5.2 了解CSS 6
1.5.3 了解JavaScript 8

第2章 搭建网络爬虫开发环境
2.1 Anaconda的安装 10
2.2 下载与安装PyCharm 13
2.3 配置PyCharm 16
2.4 测试PyCharm 18

第3章 网络请求urllib模块
3.1 了解urllib 20
3.2 发送网络请求 20
3.2.1 发送GET请求 21
实例3.1 演示常用的方法与属性 21
3.2.2 发送POST请求 22
实例3.2 发送POST请求 22
3.2.3 请求超时 22
实例3.3 处理网络超时 23
3.2.4 设置请求头 23
实例3.4 设置请求头 24
3.2.5 获取与设置Cookie 25
实例3.5 模拟登录 25
实例3.6 获取Cookie 27
实例3.7 保存Cookie文件 27
实例3.8 获取登录后页面中的信息 28
3.2.6 代理IP的设置 29
实例3.9 设置代理IP 29
3.3 处理请求异常 29
实例3.10 处理URLError异常 29
实例3.11 使用HTTPError类捕获异常 30
实例3.12 双重异常的捕获 31
3.4 解析URL 31
3.4.1 URL的拆分(urlparse、urlsplit) 31
实例3.13 使用urlparse()方法拆分URL 32
实例3.14 使用urlsplit()方法拆分URL 32
3.4.2 URL的组合(urlunparse、urlunsplit) 33
实例3.15 使用urlunparse()方法组合URL 33
实例3.16 使用urlunsplit()方法组合URL 34
3.4.3 URL的连接(urljoin) 34
实例3.17 使用urljoin()方法连接URL 34
3.4.4 URL的编码与解码(urlencode、quote、unquote) 35
实例3.18 使用urlencode()方法编码请求参数 35
实例3.19 使用quote()方法编码字符串参数 35
实例3.20 使用unquote()方法解码请求参数 36
3.4.5 URL的参数转换 36
实例3.21 使用parse_qs()方法将参数转换为字典类型 36
实例3.22 使用parse_qsl()方法将参数转换为元组所组成的列表 36
3.5 综合案例——爬取“百度热搜” 37
3.5.1 分析数据 37
3.5.2 实现网络爬虫 37
3.6 实战练习 39

第4章 网络请求urllib3模块
4.1 了解urllib3 40
4.2 发送网络请求 41
4.2.1 发送GET请求 41
实例4.1 发送GET请求 41
实例4.2 发送多个请求 41
4.2.2 发送POST请求 42
实例4.3 发送POST请求 42
4.2.3 重试请求 43
实例4.4 重试请求 43
4.2.4 获得响应内容 43
实例4.5 获取响应头信息 43
实例4.6 处理服务器返回的JSON信息 44
实例4.7 处理服务器返回二进制数据 44
4.2.5 设置请求头 45
实例4.8 设置请求头 45
4.2.6 设置超时 46
实例4.9 设置超时 46
4.2.7 设置代理IP 47
实例4.10 设置代理IP 47
4.3 上传文件 47
实例4.11 上传文本文件 47
实例4.12 上传图片文件 48
4.4 综合案例——爬取必应壁纸 48
4.4.1 分析数据 48
4.4.2 实现网络爬虫 49
4.5 实战练习 51

第5章 网络请求requests模块
5.1 基本请求方式 52
5.1.1 发送GET请求 53
实例5.1 发送GET请求不带参数 53
5.1.2 设置编码 53
实例5.2 获取网页源码 53
5.1.3 二进制数据的爬取 54
实例5.3 下载百度logo图片 54
5.1.4 发送GET(带参数)请求 54
5.1.5 发送POST请求 55
实例5.4 发送POST请求 55
5.2 高级请求方式 56
5.2.1 设置请求头 56
实例5.5 设置请求头 56
5.2.2 Cookie的验证 57
实例5.6 模拟豆瓣登录 57
5.2.3 会话请求 58
实例5.7 会话请求 58
5.2.4 验证请求 58
实例5.8 验证请求 59
5.2.5 网络超时与异常 59
实例5.9 网络超时与异常 59
实例5.10 判断网络异常 60
5.2.6 文件上传 60
实例5.11 上传图片文件 60
5.2.7 代理的应用 61
实例5.12 使用代理IP发送请求 61
5.3 综合案例——爬取糗事百科(视频) 62
5.3.1 分析数据 62
5.3.2 实现爬虫 63
5.4 实战练习 64

第6章 requests模块的两大扩展
6.1 安装requests-cache模块 65
6.2 爬虫缓存的应用 66
6.3 多功能requests-html模块 68
6.3.1 发送网络请求 68
6.3.2 提取数据 70
实例6.1 爬取即时新闻 70
6.3.3 获取动态渲染的数据 73
实例6.2 获取动态渲染的数据 73
6.4 综合案例——爬取百度天气 75
6.4.1 分析数据 75
6.4.2 实现爬虫 76
6.5 实战练习 77

第7章 正则表达式解析
7.1 通过search()匹配字符串 78
7.1.1 匹配指定开头的字符串 79
实例7.1 搜索第一个以“mr_”开头的字符串 79
7.1.2 可选匹配字符串中的内容 79
实例7.2 可选匹配字符串中的内容 79
7.1.3 使用“\\b”匹配字符串的边界 80
实例7.3 使用“\\b”匹配字符串的边界 80
7.2 通过findall()匹配字符串 80
7.2.1 匹配所有以指定字符开头的字符串 81
实例7.4 匹配所有以“mr_”开头的字符串 81
7.2.2 贪婪匹配法 81
实例7.5 使用“.*”实现贪婪匹配字符串 81
7.2.3 非贪婪匹配法 82
实例7.6 使用“.*?”实现非贪婪匹配字符串 82
7.3 处理字符串 83
7.3.1 使用sub()方法替换字符串 83
实例7.7 使用sub()方法替换字符串 83
7.3.2 使用split()方法分割字符串 84
实例7.8 使用split()方法分割字符串 84
7.4 综合案例——爬取QQ音乐热歌榜 85
7.4.1 分析数据 85
7.4.2 实现爬虫 85
7.5 实战练习 86

第8章 lxml解析模块
8.1 了解XPath 87
8.2 XPath的基本操作 88
8.2.1 HTML的解析 88
实例8.1 解析本地的HTML文件 88
实例8.2 解析字符串类型的HTML代码 88
实例8.3 解析服务器返回的HTML代码 89
8.2.2 获取所有标签 90
实例8.4 获取HTML代码的所有标签 90
8.2.3 获取子标签 91
实例8.5 获取一个标签中的子标签 91
实例8.6 获取子孙标签 92
8.2.4 获取父标签 92
实例8.7 获取一个标签的父标签 92
8.2.5 获取文本 93
实例8.8 获取HTML代码中的文本 93
8.2.6 属性匹配 94
实例8.9 使用“[@...]”实现标签属性的匹配 94
实例8.10 属性多值匹配 94
实例8.11 一个标签中多个属性的匹配 95
8.2.7 获取属性值 96
实例8.12 获取属性所对应的值 96
实例8.13 使用索引按序获取属性对应的值 97
8.2.8 使用标签轴获取标签内容 98
实例8.14 使用标签轴的方式获取标签内容 98
8.3 综合案例——爬取豆瓣新书速递 99
8.3.1 分析数据 99
8.3.2 实现爬虫 99
8.4 实战练习 100

第9章 BeautifulSoup解析模块
9.1 BeautifulSoup的基础应用 101
9.1.1 安装BeautifulSoup 101
9.1.2 解析器的区别 102
9.1.3 解析HTML 103
实例9.1 解析HTML代码 103
9.2 获取标签内容 103
9.2.1 获取标签对应的代码 104
实例9.2 获取标签对应的代码 104
9.2.2 获取标签属性 105
实例9.3 获取标签属性 105
9.2.3 获取标签内的文本 106
9.2.4 嵌套获取标签内容 106
实例9.4 嵌套获取标签内容 106
9.2.5 关联获取 107
实例9.5 获取子标签 107
实例9.6 获取子孙标签 108
实例9.7 获取父标签 109
实例9.8 获取兄弟标签 109
9.3 利用方法获取内容 111
9.3.1 find_all()方法 111
实例9.9 find_all(name)通过标签名称获取内容 111
实例9.10 find_all(attrs)通过指定属性获取内容 112
实例9.11 find_all(text)获取标签中的文本 112
9.3.2 find()方法 113
实例9.12 获取第一个匹配的标签内容 113
9.3.3 其他方法 114
9.4 CSS选择器 114
实例9.13 使用CSS选择器获取标签内容 115
9.5 综合案例——爬取百度贴吧(热议榜) 116
9.5.1 分析数据 116
9.5.2 实现爬虫 116
9.6 实战练习 117
猜您喜欢

读书导航