简介
本书深入系统地介绍了Python流行框架Scrapy的相关技术及使用技巧。全书共14章,从逻辑上可分为基础篇和高级篇两部分,基础篇重点介绍Scrapy的核心元素,如spider、selector、item、link等;高级篇讲解爬虫的高级话题,如登录认证、文件下载、执行JavaScript、动态网页爬取、使用HTTP代理、分布式爬虫的编写等,并配合项目案例讲解,包括供练习使用的网站,以及*、知乎、豆瓣、360爬虫案例等。本书案例丰富,注重实践,代码注释详尽,适合有一定Python语言基础,想学习编写复杂网络爬虫的读者使用。
目录
第1章 初识Scrapy 1
1.1 网络爬虫是什么 1
1.2Scrapy简介及安装 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.1Scrapy框架结构及工作原理 12
2.2Request和Response对象 14
2.2.1Request对象 15
2.2.2Response对象 16
2.3Spider开发流程 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.1Selector对象 23
3.1.1创建对象 24
3.1.2选中数据 25
3.1.3提取数据 26
3.2Response内置Selector 28
3.3XPath 29
3.3.1基础语法 30
3.3.2常用函数 35
3.4CSS选择器 36
3.5 本章小结 40
第4章 使用Item封装数据 41
4.1Item和Field 42
4.2 拓展Item子类 44
4.3Field元数据 44
4.4 本章小结 47
第5章 使用ItemPipeline处理数据 48
5.1Item 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 使用LinkExtractor59
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.1FilesPipeline和
ImagesPipeline 89
9.1.1FilesPipeline使用
说明 90
9.1.2ImagesPipeline使用
说明 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.2Scrapy模拟登录 114
10.2.1使用FormRequest 114
10.2.2实现登录Spider 117
10.3识别验证码 119
10.3.1OCR识别 119
10.3.2网络平台识别 123
10.3.3人工识别 127
10.4Cookie登录 128
10.4.1获取浏览器
Cookie 128
10.4.2CookiesMiddleware
源码分析 129
10.4.3实现BrowserCookies-
Middleware 132
10.4.4爬取知乎个人
信息 133
10.5 本章小结 135
第11章 爬取动态页面 136
11.1Splash渲染引擎 140
11.1.1render.html端点 141
11.1.2execute端点 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.1SQLite 156
12.2MySQL 159
12.3MongoDB 165
12.4Redis 169
12.5本章小结 173
第13章 使用HTTP代理 174
13.1HttpProxyMiddleware 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.1Redis的使用 200
14.1.1安装Redis 200
14.1.2Redis基本命令 201
14.2scrapy-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
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问