工业和信息化精品系列教材——Python技术

Python网络爬虫基础教程

黑马程序员出品,传智播客Python产品系列
分享 推荐 8 收藏 208 阅读 22.4K
黑马程序员 (作者) 978-7-115-58915-6

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

1.本书编写时充分考虑初学者的阅读体验,语言通俗易懂,也非常适合老师教学。
2.本书配置了丰富的实践项目,大多由传智项目库提供,项目变动小,降低了因网站变动而导致项目不可用的风险。
3.本书涵盖知识点全面,知识细节丰富,系统性强。
4.配套资源更丰富、教学服务更周到(免费提供各类教学资源,协助老师答疑解惑,定制教学资源,定期提供各类学习资源)。

内容摘要

网络爬虫是一种按照一定的规则,自动请求万维网网站并采集网页数据的程序或脚本。它可以代替人进行信息采集,能够自动采集并高效利用互联网中的数据,因此在市场的应用需求中占据重要位置。
本书以Windows为主要开发平台,系统、全面地讲解Python网络爬虫的相关知识。本书的主要内容包括认识网络爬虫、网页请求原理、抓取静态网页数据、解析网页数据、抓取动态网页数据、提升网络爬虫速度、存储数据、验证码识别、初识网络爬虫框架Scrapy、Scrapy核心组件与CrawlSpider类、分布式网络爬虫Scrapy-Redis。
本书可以作为高等院校计算机相关专业程序设计课程的教材、Python网络爬虫的相关培训教材,以及广大编程开发者的网络爬虫入门级教材。

目录

第1章 认识网络爬虫 001
1.1 什么是网络爬虫 001
1.2 网络爬虫的应用场景 002
1.3 网络爬虫合法性探究 003
1.3.1 Robots协议 003
1.3.2 防爬虫应对策略 005
1.4 网络爬虫的工作原理和流程 006
1.4.1 网络爬虫的工作原理 006
1.4.2 网络爬虫抓取网页的流程 008
1.5 网络爬虫实现技术探究 009
1.5.1 网络爬虫的实现技术 009
1.5.2 Python实现网络爬虫的流程 010
1.6 本章小结 011
1.7 习题 011

第2章 网页请求原理 013
2.1 浏览器加载网页的过程 013
2.2 HTTP基础 014
2.2.1 URL简介 014
2.2.2 HTTP和HTTPS 015
2.2.3 HTTP请求格式 016
2.2.4 HTTP响应格式 017
2.3 网页基础 019
2.3.1 网页开发技术 019
2.3.2 网页的结构 021
2.3.3 网页的分类 022
2.3.4 网页数据的格式 024
2.4 HTTP抓包工具——Fiddler 026
2.4.1 Fiddler的工作原理 026
2.4.2 Fiddler的下载与安装 027
2.4.3 Fiddler界面详解 029
2.4.4 Fiddler捕获HTTPS页面的设置 032
2.4.5 Fiddler的基本使用 039
2.5 本章小结 041
2.6 习题 041

第3章 抓取静态网页数据 043
3.1 抓取静态网页的技术 043
3.2 发送基本请求 044
3.2.1 发送GET请求 044
3.2.2 发送POST请求 046
3.2.3 处理响应 047
3.3 处理复杂请求 049
3.3.1 定制请求头 049
3.3.2 验证Cookie 051
3.3.3 保持会话 052
3.3.4 SSL证书验证 053
3.4 设置代理服务器 054
3.4.1 代理服务器简介 054
3.4.2 设置代理服务器 055
3.4.3 检测代理IP的有效性 056
3.5 处理异常 057
3.6 实践项目:抓取黑马程序员论坛的数据 059
【项目目标】 059
【项目分析】 060
【项目实现】 061
3.7 本章小结 063
3.8 习题 063

第4章 解析网页数据 065
4.1 解析网页数据的技术 065
4.2 正则表达式与re模块 066
4.2.1 正则表达式的语法 066
4.2.2 re模块的使用 068
4.3 XPath与lxml库 069
4.3.1 XPath简介 069
4.3.2 XPath语法 070
4.3.3 XPath开发工具 073
4.3.4 lxml库简介 075
4.4 Beautiful Soup库 077
4.4.1 Beautiful Soup简介 077
4.4.2 创建BeautifulSoup类的对象 078
4.4.3 通过查找方法选取节点 080
4.4.4 通过CSS选择器选取节点 081
4.5 JSONPath与jsonpath模块 083
4.5.1 JSONPath语法 083
4.5.2 jsonpath模块的使用 085
4.6 实践项目:采集黑马程序员论坛的帖子 088
【项目目标】 088
【项目分析】 089
【项目实现】 090
4.7 本章小结 093
4.8 习题 093

第5章 抓取动态网页数据 095
5.1 抓取动态网页的技术 095
5.2 Selenium和WebDriver的安装与配置 096
5.3 Selenium的基本使用 099
5.3.1 WebDriver类的常用属性和方法 100
5.3.2 定位元素 102
5.3.3 鼠标操作 105
5.3.4 下拉列表框操作 107
5.3.5 弹出框处理 108
5.3.6 页面切换 110
5.3.7 页面等待 111
5.4 实践项目:采集集信达平台的短信服务日志信息 114
【项目目标】 114
【项目分析】 116
【项目实现】 119
5.5 本章小结 122
5.6 习题 123

第6章 提升网络爬虫速度 125
6.1 网络爬虫速度提升方案 125
6.2 多线程爬虫 126
6.2.1 多线程爬虫流程分析 126
6.2.2 多线程爬虫实现技术 127
6.2.3 多线程爬虫基本示例 130
6.2.4 多线程爬虫性能分析 133
6.3 协程爬虫 134
6.3.1 协程爬虫流程分析 134
6.3.2 协程爬虫实现技术 135
6.3.3 协程爬虫基本示例 137
6.3.4 协程爬虫性能分析 138
6.4 实践项目:采集黑马头条的评论列表 139
【项目目标】 139
【项目分析】 140
【项目实现】 141
6.5 本章小结 144
6.6 习题 144

第7章 存储数据 146
7.1 数据存储的方式 146
7.2 存储至MongoDB数据库 147
7.2.1 下载与安装MongoDB 147
7.2.2 使用Python操作MongoDB 151
7.3 存储至Redis数据库 154
7.3.1 下载与安装Redis 154
7.3.2 使用Python操作Redis 157
7.3.3 Redis桌面管理工具 159
7.4 实践项目:采集小兔鲜儿网的商品信息 162
【项目目标】 162
【项目分析】 164
【项目实现】 167
7.5 本章小结 170
7.6 习题 170

第8章 验证码识别 172
8.1 验证码识别 172
8.1.1 字符验证码的识别 172
8.1.2 滑动拼图验证码的识别 181
8.1.3 点选验证码的识别 181
8.2 实践项目:登录黑马头条后台管理系统 188
【项目目标】 188
【项目分析】 189
【项目实现】 191
8.3 本章小结 197
8.4 习题 197

第9章 初识网络爬虫框架Scrapy 199
9.1 Scrapy框架简介 199
9.2 Scrapy框架架构 200
9.3 Scrapy框架运作流程 201
9.4 Scrapy框架安装 203
9.5 Scrapy框架基本操作 205
9.5.1 新建Scrapy项目 205
9.5.2 明确采集目标 206
9.5.3 制作爬虫 207
9.5.4 永久存储数据 212
9.6 实践项目:采集黑马程序员视频库的视频信息 213
【项目目标】 213
【项目分析】 213
【项目实现】 214
9.7 本章小结 216
9.8 习题 216

第10章 Scrapy核心组件与CrawlSpider类 219
10.1 Spiders组件 219
10.2 Item Pipeline组件 220
10.3 Downloader Middlewares组件 222
10.3.1 内置下载中间件 223
10.3.2 自定义下载中间件 223
10.3.3 激活下载中间件 225
10.4 Settings组件 225
10.5 CrawlSpider类 227
10.5.1 CrawlSpider类简介 227
10.5.2 CrawlSpider类的工作原理 229
10.5.3 通过Rule类决定抓取规则 230
10.5.4 通过LinkExtractor类提取链接 231
10.6 实践项目:采集畅购商城的华为手表信息 232
【项目目标】 233
【项目分析】 233
【项目实现】 234
10.7 本章小结 236
10.8 习题 236

第11章 分布式网络爬虫Scrapy-Redis 238
11.1 分布式网络爬虫简介 238
11.2 Scrapy-Redis架构 240
11.3 Scrapy-Redis运作流程 242
11.4 Scrapy-Redis开发准备 242
11.4.1 安装Scrapy-Redis 242
11.4.2 修改配置文件 243
11.4.3 测试远程连接 244
11.5 Scrapy-Redis的基本操作 246
11.5.1 新建Scrapy-Redis项目 246
11.5.2 明确采集目标 247
11.5.3 制作爬虫 248
11.5.4 运行爬虫 249
11.5.5 使用管道存储数据 250
11.6 实践项目:使用RedisCrawlSpider采集畅购商城的华为手表信息 252
【项目目标】 252
【项目分析】 252
【项目实现】 252
11.7 本章小结 257
11.8 习题 257

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

黑马程序员,传智播客旗下高端教育品牌,成立于2006年,它是由中国Java培训先行者张孝祥老师发起,联合全球最大的中文IT社区CSDN、中关村软件园共同创办的一家专业教育机构。办学至今,我们一直坚守着“为千万人少走弯路而著书,为中华软件之崛起而讲课”的办学理念,坚持培养优秀软件应用工程师的宏伟目标,在累计培养的十万余名学员中。

推荐用户

同系列书

相关图书

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