在线客服
精通Scrapy网络爬虫图书
人气:243

精通Scrapy网络爬虫

博学Python工程师10年开发经验分享,深入讲解Scrapy的核心技术与知识点
  • 所属分类:图书 >计算机/网络>行业软件及应用  
  • 作者:[刘硕]
  • 产品参数:
  • 丛书名:--
  • 国际刊号:9787302484936
  • 出版社:清华大学出版社
  • 出版时间:2017-10
  • 印刷时间:2017-09-01
  • 版次:1
  • 开本:16开
  • 页数:--
  • 纸张:胶版纸
  • 包装:平装-胶订
  • 套装:

内容简介

本书深入系统地介绍了Python流行框架Scrapy的相关技术及使用技巧。全书共14章,从逻辑上可分为基础篇和高级篇两部分,基础篇重点介绍Scrapy的核心元素,如spider、selector、item、link等;高级篇讲解爬虫的高级话题,如登录认证、文件下载、执行JavaScript、动态网页爬取、使用HTTP、分布式爬虫的编写等,并配合项目案例讲解,包括供练习使用的网站,以及、知乎、豆瓣、360爬虫案例等。 本书案例丰富,注重实践,代码注释详尽,适合有一定Python语言基础,想学习编写复杂网络爬虫的读者使用。

编辑推荐

本书以应用为出发点,详细深入地介绍了Python流行框架Scrapy的核心技术及网络爬虫的开发技巧。本书分为基础篇和高级篇两部分,基础篇重点介绍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

在线预览

第1章 初识Scrapy本章首先介绍爬虫的基本概念、工作流程,然后介绍Scrapy的安装和网络爬虫项目的实现流程,使读者对网络爬虫有一个大致的了解,并且建立起网络爬虫的编写思路。本章重点讲解以下内容:? 网络爬虫及爬虫的工作流程。? Scrapy的介绍与安装。? 网络爬虫编写步骤。1.1 网络爬虫是什么网络爬虫是指在互联网上自动爬取网站内容信息的程序,也被称作网络蜘蛛或网络机器人。大型的爬虫程序被广泛应用于搜索引擎、数据挖掘等领域,个人用户或企业也可以利用爬虫收集对自身有价值的数据。举一个简单的例子,假设你在本地新开了一家以外卖生意为主的餐馆,现在要给菜品定价,此时便可以开发一个爬虫程序,在美团、饿了么、百度外卖这些外卖网站爬取大量其他餐馆的菜品价格作为参考,以指导定价。一个网络爬虫程序的基本执行流程可以总结为以下循环: 1.下载页面一个网页的内容本质上就是一个HTML文本,爬取一个网页内容之前,首先要根据网页的URL下载网页。2.提取页面中的数据当一个网页(HTML)下载完成后,对页面中的内容进行分析,并提取出我们感兴趣的数据,提取到的数据可以以多种形式保存起来,比如将数据以某种格式(CSV、JSON)写入文件中,或存储到数据库(MySQL、MongoDB)中。3.提取页面中的链接通常,我们想要获取的数据并不只在一个页面中,而是分布在多个页面中,这些页面彼此联系,一个页面中可能包含一个或多个到其他页面的链接,提取完当前页面中的数据后,还要把页面中的某些链接也提取出来,然后对链接页面进行爬取(循环1-3步骤)。设计爬虫程序时,还要考虑防止重复爬取相同页面(URL去重)、网页搜索策略(深度优先或广度优先等)、爬虫访问边界限定等一系列问题。从头开发一个爬虫程序是一项烦琐的工作,为了避免因制造轮子而消耗大量时间,在实际应用中我们可以选择使用一些的爬虫框架,使用框架可以降低开发成本,提高程序质量,让我们能够专注于业务逻辑(爬取有价值的数据)。接下来,本书就带你学习目前非常流行的开源爬虫框架 Scrapy。1.2 Scrapy简介及安装Scrapy是一个使用Python语言(基于Twisted框架)编写的开源网络爬虫框架,目前由Scrapinghub Ltd维护。Scrapy简单易用、灵活易拓展、开发社区活跃,并且是跨平台的。在Linux、 MaxOS以及Windows平台都可以使用。Scrapy应用程序也使用Python进行开发,目前可以支持Python 2.7以及Python 3.4 版本。在任意操作系统下,可以使用pip安装Scrapy,例如:$ pip install scrapy为确认Scrapy已安装成功,首先在Python中测试能否导入Scrapy模块:>>> import scrapy>>> scrapy.version_info(1, 3, 3)然后,在shell中测试能否执行Scrapy这条命令:$ scrapyScrapy 1.3.3 - no active project

Usage: scrapy [options] [args]

Available commands: bench Run quick benchmark test commands fetch Fetch a URL using the Scrapy downloader genspider Generate new spider using pre-defined templates runspider Run a self-contained spider (without creating a project) settings Get settings values shell Interactive scraping console startproject Create new project version Print Scrapy version view Open URL in browser, as seen by Scrapy

[ more ] More commands available when run from project directory

Use "scrapy -h" to see more info about a command通过了以上两项检测,说明Scrapy安装成功了。如上所示,我们安装的是当前近期版本1.3.3。

网友评论(不代表本站观点)

来自无昵称**的评论:

真不错这本书值得买

2017-11-22 15:14:41
来自腐儒丿**的评论:

相关的书不多,值得一看。一直在当当买书,当当的书值得信赖

2017-11-17 17:38:54
来自天线宝**的评论:

书不错!!!!

2017-11-10 13:10:41
来自cqzhf**的评论:

书不错,正在学习。赞一个

2017-11-10 16:03:36
来自无昵称**的评论:

好书, 内容翔实, 讲解透彻. 快递小哥也很给力,

2017-11-06 09:31:49
来自无昵称**的评论:

作者写得很专业,讲解到位,通俗易懂,用例子学习,有很多新技术,非常好的一本书,推荐购买。

2017-10-23 17:03:11

免责声明

更多出版社