[套装书]从零开始学Scrapy网络爬虫(视频教学版)+Python网络爬虫从入门到实践 第2版(2册)

作者
张涛唐松
丛书名
出版社
机械工业出版社
ISBN
9781909171428
简要
简介
内容简介书籍计算机书籍 ---------------------------从零开始学Scrapy网络爬虫(视频教学版)--------------------------- 本书从零开始,循序渐进地介绍了目前最流行的网络爬虫框架Scrapy。本书共13章。其中第1~4章为基础篇,介绍了Python基础、网络爬虫基础、Scrapy框架及基本的爬虫功能。第5~10章为进阶篇,介绍了如何将爬虫数据存储于MySQL、MongoDB和Redis数据库中;如何实现异步的Ajax数据的爬取;如何使用Selenium和Splash实现动态网站的爬取;如何实现模拟登录功能;如何突破反爬虫技术,以及如何实现文件和图片的下载。第11~13章为高级篇,介绍了使用Scrapy-Redis实现分布式爬虫;使用Scrapyd和Docker部署分布式爬虫;使用Gerapy管理分布式爬虫,并实现了一个抢票软件的综合项目。 本书适合爬虫初学者、爬虫爱好者及高校相关学生,也适合数据爬虫工程师作为参考读物,同时也适合各大院校和培训机构作为教材使用。 ---------------------------精通Python网络爬虫:核心技术、框架与项目实战--------------------------- 本书从技术、工具与实战3个维度讲解了Python网络爬虫: 技术维度:详细讲解了Python网络爬虫实现的核心技术,包括网络爬虫的工作原理、如何用urllib库编写网络爬虫、爬虫的异常处理、正则表达式、爬虫中Cookie的使用、爬虫的浏览器伪装技术、定向爬取技术、反爬虫技术,以及如何自己动手编写网络爬虫; 工具维度:以流行的Python网络爬虫框架Scrapy为对象,详细讲解了Scrapy的功能使用、高级技巧、架构设计、实现原理,以及如何通过Scrapy来更便捷、高效地编写网络爬虫; 实战维度:以实战为导向,是本书的主旨,除了完全通过手动编程实现网络爬虫和通过Scrapy框架实现网络爬虫的实战案例以外,本书还有博客爬取、图片爬取、模拟登录等多个综合性的网络爬虫实践案例。 作者在Python领域有非常深厚的积累,不仅精通Python网络爬虫,在Python机器学习、Python数据分析与挖掘、Python Web开发等多个领域都有丰富的实战经验
目录



---------------------------从零开始学Scrapy网络爬虫(视频教学版)---------------------------


前言
第1篇 基础篇
第1章 Python基础 2
1.1 Python简介 2
1.1.1 Python简史 2
1.1.2 搭建Python环境 3
1.1.3 安装PyCharm集成开发环境 6
1.2 Python基本语法 7
1.2.1 基本数据类型和运算 7
1.2.2 运算符和表达式 8
1.2.3 条件判断语句 9
1.2.4 循环语句 10
1.2.5 字符串 12
1.3 Python内置数据结构 14
1.3.1 列表 15
1.3.2 字典 16
1.3.3 元组 17
1.3.4 遍历对象集合 17
1.4 Python模块化设计 18
1.4.1 函数 18
1.4.2 迭代器(iterator) 20
1.4.3 生成器(Generator) 20
1.4.4 类和对象 22
1.4.5 文件与异常 23
1.5 本章小结 25
第2章 网络爬虫基础 26
2.1 HTTP基本原理 26
2.1.1 URL介绍 27
2.1.2 HTTP和HTTPS协议 27
2.1.3 HTTP请求(Request) 27
2.1.4 HTTP响应(Response) 30
2.2 网页基础 32
2.2.1 HTML文档 33
2.2.2 网页的结构 33
2.2.3 节点树及节点之间的关系 34
2.3 使用XPath提取网页信息 36
2.3.1 XPath介绍 36
2.3.2 XPath常用路径表达式 36
2.3.3 XPath带谓语的路径表达式 39
2.4 本章小结 40
第3章 Scrapy框架介绍 41
3.1 网络爬虫原理 41
3.1.1 爬虫执行的流程 41
3.2 Scrapy框架结构及执行流程 42
3.2.1 Scrapy框架结构 42
3.2.2 Scrapy执行流程 44
3.3 Scrapy安装 44
3.3.1 使用pip安装Scrapy 44
3.3.2 常见安装错误 45
3.3.3 验证安装 46
3.4 第一个网络爬虫 46
3.4.1 需求分析 46
3.4.2 创建项目 47
3.4.3 分析页面 48
3.4.4 实现Spider爬虫功能 49
3.4.5 运行爬虫 50
3.4.6 常见问题 51
3.5 本章小结 52
第4章 Scrapy网络爬虫基础 53
4.1 使用Spider提取数据 53
4.1.1 Spider组件介绍 53
4.1.2 重写start_requests()方法 55
4.1.3 Request对象 57
4.1.4 使用选择器提取数据 58
4.1.5 Response对象与XPath 59
4.1.6 Response对象与CSS 61
4.1.7 进一步了解Response对象 62
4.1.8 多页数据的爬取 63
4.2 使用Item封装数据 64
4.2.1 定义Item和Field 65
4.2.2 使用ItemLoader填充容器 66
4.3 使用Pipeline处理数据 69
4.3.1 Item Pipeline介绍 70
4.3.2 编写自己的Item Pipeline 70
4.3.3 启用Item Pipeline 71
4.3.4 多个Item Pipeline 71
4.3.5 保存为其他类型文件 72
4.4 项目案例:爬取链家网二手房信息 75
4.4.1 项目需求 75
4.4.2 技术分析 76
4.4.3 代码实现及解析 77
4.5 本章小结 85
第2篇 进阶篇
第5章 数据库存储 88
5.1 MySQL数据库 88
5.1.1 关系型数据库概述 88
5.1.2 下载和安装MySQL数据库 88
5.1.3 数据库管理工具Navicat 92
5.1.4 Python访问MySQL数据库 94
5.1.5 项目案例 97
5.2 MongoDB数据库 100
5.2.1 NoSQL概述 100
5.2.2 MongoDB介绍 100
5.2.3 MongoDB的下载和安装 101
5.2.4 Python访问MongoDB数据库 102
5.2.5 项目案例 108
5.3 Redis数据库 111
5.3.1 Redis的下载和安装 111
5.3.2 Python访问Redis 113
5.3.3 项目案例 118
5.4 本章小结 121
第6章 JavaScript与AJAX数据爬取 122
6.1 JavaScript简介 122
6.2 项目案例:爬取QQ音乐榜单歌曲 122
6.2.1 项目需求 122
6.2.2 技术分析 123
6.2.3 代码实现及解析 126
6.2.4 更常见的动态网页 128
6.3 AJAX简介 129
6.4 项目案例:爬取豆瓣电影信息 130
6.4.1 项目需求 130
6.4.2 技术分析 130
6.4.3 代码实现及解析 133
6.5 本章小结 135
第7章 动态渲染页面的爬取 136
7.1 Selenium实现动态页面爬取 136
7.1.1 Selenium安装 136
7.1.2 Selenium简单实现 137
7.1.3 Selenium语法 138
7.2 项目案例:爬取今日头条热点新闻 145
7.2.1 项目需求 145
7.2.2 技术分析 145
7.2.3 代码实现及解析 147
7.3 Splash实现动态页面爬取 151
7.3.1 Splash介绍 151
7.3.2 Splash环境搭建 152
7.3.3 Splash模块介绍 156
7.4 项目案例:爬取一号店中的iPhone手机信息 162
7.4.1 项目需求 162
7.4.2 技术分析 163
7.4.3 代码实现及解析 165
7.5 本章小结 168
第8章 模拟登录 169
8.1 模拟登录解析 169
8.1.1 登录过程解析 169
8.1.2 模拟登录的实现 171
8.2 验证码识别 174
8.2.1 使用OCR识别验证码 174
8.2.2 处理复杂验证码 176
8.2.3 五花八门的验证码 177
8.3 Cookie自动登录 177
8.3.1 Cookie介绍 178
8.3.2 获取Cookie的库—browsercookie 179
8.4 项目案例:爬取起点中文网某用户的书架信息 180
8.4.1 项目需求 180
8.4.2 技术分析 180
8.4.3 代码实现及解析 182
8.5 本章小结 184
第9章 突破反爬虫技术 185
9.1 反爬虫技术及突破措施 185
9.2 伪装成不同的浏览器 187
9.2.1 UserAgentMiddleware中间件介绍 187
9.2.2 实现伪装成随机浏览器 188
9.2.3 更简单的方法 191
9.3 使用HTTP代理服务器 192
9.3.1 HTTP代理服务器 192
9.3.2 获取免费代理 193
9.3.3 实现随机代理 199
9.4 本章小结 202
第10章 文件和图片下载 203
10.1 文件下载 203
10.1.1 FilesPipeline执行流程 203
10.2 项目案例:爬取seaborn案例源文件 204
10.2.1 项目需求 204
10.2.2 技术分析 206
10.2.3 代码实现及解析 206
10.2.4 更多功能 211
10.3 图片下载 212
10.4 项目案例:爬取摄图网图片 213
10.4.1 项目需求 213
10.4.2 技术分析 215
10.4.3 代码实现及解析 215
10.5 本章小结 221
第3篇 高级篇
第11章 Scrapy-Redis实现分布式爬虫 224
11.1 分布式爬虫原理 224
11.2 Scrapy-Redis实现分布式爬虫分析 225
11.2.1 实现分布式爬虫思路 225
11.2.2 Scrapy-Redis代码解析 226
11.2.3 分布式爬虫功能配置 231
11.3 项目案例:分布式爬虫爬取摄图网图片 233
11.3.1 技术分析 233
11.3.2 代码实现及解析 234
11.4 本章小结 237
第12章 Scrapyd部署分布式爬虫 238
12.1 使用Scrapyd部署分布式爬虫 238
12.1.1 Scrapyd的安装及运行 238
12.1.2 Scrapyd功能介绍 241
12.2 使用Scrapyd-Client批量部署 244
12.3 使用Docker部署分布式爬虫 248
12.4 使用Gerapy管理分布式爬虫 253
12.5 本章小结 258
第13章 综合项目:抢票软件的实现 259
13.1 项目需求 259
13.2 技术分析 262
13.3 项目实现及解析 263
13.3.1 搭建Scrapy项目框架 263
13.3.2 实现获取站点信息的爬虫 264
13.3.3 实现站点处理类 266
13.3.4 实现购票类 267
13.3.5 实现购票功能 280
13.3.6 运行项目 282
13.3.7 优化项目 282
13.4 本章小结 283



---------------------------精通Python网络爬虫:核心技术、框架与项目实战---------------------------


前言
第一篇 理论基础篇
第1章 什么是网络爬虫 3
1.1 初识网络爬虫 3
1.2 为什么要学网络爬虫 4
1.3 网络爬虫的组成 5
1.4 网络爬虫的类型 6
1.5 爬虫扩展——聚焦爬虫 7
1.6 小结 8
第2章 网络爬虫技能总览 9
2.1 网络爬虫技能总览图 9
2.2 搜索引擎核心 10
2.3 用户爬虫的那些事儿 11
2.4 小结 12
第二篇 核心技术篇
第3章 网络爬虫实现原理与实现技术 15
3.1 网络爬虫实现原理详解 15
3.2 爬行策略 17
3.3 网页更新策略 18
3.4 网页分析算法 20
3.5 身份识别 21
3.6 网络爬虫实现技术 21
3.7 实例——metaseeker 22
3.8 小结 27
第4章 Urllib库与URLError异常处理 29
4.1 什么是Urllib库 29
4.2 快速使用Urllib爬取网页 30
4.3 浏览器的模拟——Headers属性 34
4.4 超时设置 37
4.5 HTTP协议请求实战 39
4.6 代理服务器的设置 44
4.7 DebugLog实战 45
4.8 异常处理神器——URLError实战 46
4.9 小结 51
第5章 正则表达式与Cookie的使用 52
5.1 什么是正则表达式 52
5.2 正则表达式基础知识 52
5.3 正则表达式常见函数 61
5.4 常见实例解析 64
5.5 什么是Cookie 66
5.6 Cookiejar实战精析 66
5.7 小结 71
第6章 手写Python爬虫 73
6.1 图片爬虫实战 73
6.2 链接爬虫实战 78
6.3 糗事百科爬虫实战 80
6.4 微信爬虫实战 82
6.5 什么是多线程爬虫 89
6.6 多线程爬虫实战 90
6.7 小结 98
第7章 学会使用Fiddler 99
7.1 什么是Fiddler 99
7.2 爬虫与Fiddler的关系 100
7.3 Fiddler的基本原理与基本界面 100
7.4 Fiddler捕获会话功能 102
7.5 使用QuickExec命令行 104
7.6 Fiddler断点功能 106
7.7 Fiddler会话查找功能 111
7.8 Fiddler的其他功能 111
7.9 小结 113
第8章 爬虫的浏览器伪装技术 114
8.1 什么是浏览器伪装技术 114
8.2 浏览器伪装技术准备工作 115
8.3 爬虫的浏览器伪装技术实战 117
8.4 小结 121
第9章 爬虫的定向爬取技术 122
9.1 什么是爬虫的定向爬取技术 122
9.2 定向爬取的相关步骤与策略 123
9.3 定向爬取实战 124
9.4 小结 130
第三篇 框架实现篇
第10章 了解Python爬虫框架 133
10.1 什么是Python爬虫框架 133
10.2 常见的Python爬虫框架 133
10.3 认识Scrapy框架 134
10.4 认识Crawley框架 135
10.5 认识Portia框架 136
10.6 认识newspaper框架 138
10.7 认识Python-goose框架 139
10.8 小结 140
第11章 爬虫利器——Scrapy安装与配置 141
11.1 在Windows7下安装及配置Scrapy实战详解 141
11.2 在Linux(Centos)下安装及配置Scrapy实战详解 147
11.3 在MAC下安装及配置Scrapy实战详解 158
11.4 小结 161
第12章 开启Scrapy爬虫项目之旅 162
12.1 认识Scrapy项目的结构 162
12.2 用Scrapy进行爬虫项目管理 163
12.3 常用工具命令 166
12.4 实战:Items的编写 181
12.5 实战:Spider的编写 183
12.6 XPath基础 187
12.7 Spider类参数传递 188
12.8 用XMLFeedSpider来分析XML源 191
12.9 学会使用CSVFeedSpider 197
12.10 Scrapy爬虫多开技能 200
12.11 避免被禁止 206
12.12 小结 212
第13章 Scrapy核心架构 214
13.1 初识Scrapy架构 214
13.2 常用的Scrapy组件详解 215
13.3 Scrapy工作流 217
13.4 小结 219
第14章 Scrapy中文输出与存储 220
14.1 Scrapy的中文输出 220
14.2 Scrapy的中文存储 223
14.3 输出中文到JSON文件 225
14.4 小结 230
第15章 编写自动爬取网页的爬虫 231
15.1 实战:items的编写 231
15.2 实战:pipelines的编写 233
15.3 实战:settings的编写 234
15.4 自动爬虫编写实战 234
15.5 调试与运行 239
15.6 小结 242
第16章 CrawlSpider 243
16.1 初识CrawlSpider 243
16.2 链接提取器 244
16.3 实战:CrawlSpider实例 245
16.4 小结 249
第17章 Scrapy高级应用 250
17.1 如何在Python3中操作数据库 250
17.2 爬取内容写进MySQL 254
17.3 小结 259
第四篇 项目实战篇
第18章 博客类爬虫项目 263
18.1 博客类爬虫项目功能分析 263
18.2 博客类爬虫项目实现思路 264
18.3 博客类爬虫项目编写实战 264
18.4 调试与运行 274
18.5 小结 275
第19章 图片类爬虫项目 276
19.1 图片类爬虫项目功能分析 276
19.2 图片类爬虫项目实现思路 277
19.3 图片类爬虫项目编写实战 277
19.4 调试与运行 281
19.5 小结 282
第20章 模拟登录爬虫项目 283
20.1 模拟登录爬虫项目功能分析 283
20.2 模拟登录爬虫项目实现思路 283
20.3 模拟登录爬虫项目编写实战 284
20.4 调试与运行 292
20.5 小结 294



有问题微信扫码联系

推荐

Understand China
桂ICP备20004708号-4