新書推薦:
《
素描简史:从文艺复兴到现代艺术
》
售價:NT$
1989.0
《
智慧宫丛书028·神工智能 诸神与古代世界的神奇造物
》
售價:NT$
398.0
《
街头健身训练指南
》
售價:NT$
1214.0
《
留学早规划
》
售價:NT$
347.0
《
文化的演化:民众动机正在重塑世界
》
售價:NT$
403.0
《
布鲁克林有棵树(孩子喜欢的阅读经典读本 基于真实生活的全球经典成长小说 走出成长困境 追逐梦想 人生励志 自我塑造小说)
》
售價:NT$
347.0
《
构建未来教育图景:实践以学生为中心的育人模式
》
售價:NT$
398.0
《
中考热点作家孙道荣2024年散文精选集三册
》
售價:NT$
581.0
|
編輯推薦: |
本书以应用为出发点,详细深入地介绍了Python流行框架Scrapy的核心技术及网络爬虫的开发技巧。本书分为基础篇和高级篇两部分,基础篇重点介绍Scrapy的核心元素,如spider、selector、item、link等;高级篇讲解如登录认证、文件下载、执行JavaScript、动态网页爬取、使用HTTP代理、分布式爬虫的编写等内容。为方便读者快速上手,本书还设计了大量项目案列,包括供练习用的网站的爬取以及如*、知乎、豆瓣、360等网站的爬取。本书很适合有一定Python语言基础,想学习编写复杂网络爬虫的读者使用。此外,书中涉及的关联知识很丰富,可以帮助读者拓展知识面,掌握更多实用技能。
|
內容簡介: |
本书深入系统地介绍了Python流行框架Scrapy的相关技术及使用技巧。全书共14章,从逻辑上可分为基础篇和高级篇两部分,基础篇重点介绍Scrapy的核心元素,如spider、selector、item、link等;高级篇讲解爬虫的高级话题,如登录认证、文件下载、执行JavaScript、动态网页爬取、使用HTTP代理、分布式爬虫的编写等,并配合项目案例讲解,包括供练习使用的网站,以及*、知乎、豆瓣、360爬虫案例等。 本书案例丰富,注重实践,代码注释详尽,适合有一定Python语言基础,想学习编写复杂网络爬虫的读者使用。
|
關於作者: |
刘硕:硕士,曾就职于知名外企,从事一线开发工作10年,目前主要从事Python开发与教学工作,在慕课网开设有多门Python课程,深受学员欢迎。
|
目錄:
|
第1章 初识Scrapy 1
1.1 网络爬虫是什么 1
1.2 Scrapy简介及安装 2
1.3 编写第一个Scrapy爬虫 3
1.3.1 项目需求 4
1.3.2 创建项目 4
1.3.3 分析页面 5
1.3.4 实现Spider 6
1.3.5 运行爬虫 8
1.4 本章小结 11
第2章 编写Spider 12
2.1 Scrapy框架结构及工作原理 12
2.2 Request和Response对象 14
2.2.1 Request对象 15
2.2.2 Response对象 16
2.3 Spider开发流程 18
2.3.1 继承scrapy.Spider 19
2.3.2 为Spider命名 20
2.3.3 设定起始爬取点 20
2.3.4 实现页面解析函数 22
2.4 本章小结 22
第3章 使用Selector提取数据 23
3.1 Selector对象 23
3.1.1 创建对象 24
3.1.2 选中数据 25
3.1.3 提取数据 26
3.2 Response内置Selector 28
3.3 XPath 29
3.3.1 基础语法 30
3.3.2 常用函数 35
3.4 CSS选择器 36
3.5 本章小结 40
第4章 使用Item封装数据 41
4.1 Item和Field 42
4.2 拓展Item子类 44
4.3 Field元数据 44
4.4 本章小结 47
第5章 使用Item Pipeline处理数据 48
5.1 Item Pipeline 48
5.1.1 实现Item Pipeline 49
5.1.2 启用Item Pipeline 50
5.2 更多例子 51
5.2.1 过滤重复数据 51
5.2.2 将数据存入
MongoDB 54
5.3 本章小结 57
第6章 使用LinkExtractor提取链接 58
6.1 使用LinkExtractor 59
6.2 描述提取规则 60
6.3 本章小结 65
第7章 使用Exporter导出数据 66
7.1 指定如何导出数据 67
7.1.1 命令行参数 67
7.1.2 配置文件 69
7.2 添加导出数据格式 70
7.2.1 源码参考 70
7.2.2 实现Exporter 72
7.3 本章小结 74
第8章 项目练习 75
8.1 项目需求 77
8.2 页面分析 77
8.3 编码实现 83
8.4 本章小结 88
第9章 下载文件和图片 89
9.1 FilesPipeline和
ImagesPipeline 89
9.1.1 FilesPipeline使用
说明 90
9.1.2 ImagesPipeline使用
说明 91
9.2 项目实战:爬取matplotlib
例子源码文件 92
9.2.1 项目需求 92
9.2.2 页面分析 94
9.2.3 编码实现 96
9.3 项目实战:下载360图片 103
9.3.1 项目需求 104
9.3.2 页面分析 104
9.3.3 编码实现 107
9.4 本章小结 109
第10章 模拟登录 110
10.1 登录实质 110
10.2 Scrapy模拟登录 114
10.2.1 使用FormRequest 114
10.2.2 实现登录Spider 117
10.3 识别验证码 119
10.3.1 OCR识别 119
10.3.2 网络平台识别 123
10.3.3 人工识别 127
10.4 Cookie登录 128
10.4.1 获取浏览器
Cookie 128
10.4.2 CookiesMiddleware
源码分析 129
10.4.3 实现BrowserCookies-
Middleware 132
10.4.4 爬取知乎个人
信息 133
10.5 本章小结 135
第11章 爬取动态页面 136
11.1 Splash渲染引擎 140
11.1.1 render.html端点 141
11.1.2 execute端点 142
11.2 在Scrapy中使用Splash 145
11.3 项目实战:爬取toscrape
中的名人名言 146
11.3.1 项目需求 146
11.3.2 页面分析 146
11.3.3 编码实现 147
11.4 项目实战:爬取京东商城
中的书籍信息 149
11.4.1 项目需求 149
11.4.2 页面分析 149
11.4.3 编码实现 152
11.5 本章小结 154
第12章 存入数据库 155
12.1 SQLite 156
12.2 MySQL 159
12.3 MongoDB 165
12.4 Redis 169
12.5 本章小结 173
第13章 使用HTTP代理 174
13.1 HttpProxyMiddleware 175
13.1.1 使用简介 175
13.1.2 源码分析 177
13.2 使用多个代理 179
13.3 获取免费代理 180
13.4 实现随机代理 184
13.5 项目实战:爬取豆瓣电影
信息 187
13.5.1 项目需求 188
13.5.2 页面分析 189
13.5.3 编码实现 194
13.6 本章小结 198
第14章 分布式爬取 199
14.1 Redis的使用 200
14.1.1 安装Redis 200
14.1.2 Redis基本命令 201
14.2 scrapy-redis源码分析 206
14.2.1 分配爬取任务
部分 207
14.2.2 汇总爬取数据
部分 214
14.3 使用scrapy-redis进行分
布式爬取 217
14.3.1 搭建环境 217
14.3.2 项目实战 218
14.4 本章小结 224
|
內容試閱:
|
关于本书
如今是互联网的时代,而且正在迈入智能时代。人们早已意识到互联网中的数据是有待开采的巨大金矿,这些数据将会改善我们的生活,网络爬虫开发工作岗位的出现和不断增加正是基于对数据价值的重视。优秀的爬虫框架就像是开采金矿的强力挖掘机,如果你能娴熟地驾驶它们,就能大幅提高开采效率。
本书讲解目前最流行的Python爬虫框架Scrapy,它简单易用、灵活易拓展、文档丰富、开发社区活跃,使用Scrapy可以高效地开发网络爬虫应用。本书的读者只需要有Python语言基础即可,我们从零基础、逐步由浅入深进行讲解。第1~8章讲解Scrapy开发的核心基础部分,其中包括:
● 初识Scrapy
● 编写Spider
● 使用Selector提取数据
● 使用Item封装数据
● 使用Item Pipeline处理数据
● 使用Link Extractor提取链接
● 使用Exporter导出数据
● 项目练习
第9~14章讲解实际爬虫开发中使用频率最高的一些实用技术,其中包括:
● 下载文件和图片
● 模拟登录
● 爬取动态页面
● 存入数据库
● 使用HTTP代理
● 分布式爬取
本书特色
本书的宗旨是以实用和实战为教学目标,主要特色是:
● 所有基础部分的讲解都配有代码示例,而不仅仅是枯燥的文档。
● 案例选材方面以讲解知识点为核心,尽量选择专门供练习爬虫技术的网站(不易变动)或贴近日常生活的网站(京东、知乎、豆瓣、360)进行演示。
● 在讲解某些知识点时,对Scrapy源码进行分析,让读者能够知其然并知其所以然。
另外,Python是一门简单易学、功能强大、开发效率极高的语言,近年来在网络爬虫、数据分析、机器学习等领域得到广泛认可。虽然Python很容易上手,但想灵活恰当地运用它也并不简单。作者在慕课网(www.imooc.com)上推出了一套《Python高级进阶实战》课程,可供有需求的读者进行参考:http:coding.imooc.comclass62.html。
致谢
感谢康烁和陈渝老师在清华大学信息研究院工作期间对我在专业方面的耐心指导。
感谢清华大学出版社的王金柱编辑给予我这次写作的机会以及在写作方面的指点。
感谢赵佳音同事认真阅读全书并提出了许多的宝贵建议。
感谢剑超和任怡同学认真审阅全书并对书中代码在多个Python版本上进行测试。
感谢女儿刘真,她的笑容化解了写作本书时偶尔的小烦躁。
编 者
2017年8月8日
|
|