解析Python网络爬虫 核心技术、Scrapy框架、分布式爬虫PDF电子书下载
- 电子书积分:11 积分如何计算积分?
- 作 者:黑马程序员编著
- 出 版 社:北京:中国铁道出版社
- 出版年份:2018
- ISBN:9787113246785
- 页数:263 页
第1章 初识爬虫 1
1.1 爬虫产生背景 1
1.2 爬虫的概念 2
1.3 爬虫的用途 2
1.4 爬虫的分类 3
1.4.1 通用爬虫和聚焦爬虫 3
1.4.2 累积式爬虫和增量式爬虫 4
1.4.3 表层爬虫和深层爬虫 4
小结 5
习题 5
第2章 爬虫的实现原理和技术 6
2.1 爬虫实现原理 6
2.1.1 通用爬虫工作原理 6
2.1.2 聚焦爬虫工作原理 8
2.2 爬虫爬取网页的详细流程 9
2.3 通用爬虫中网页的分类 10
2.4 通用爬虫相关网站文件 10
2.4.1 robots.txt文件 11
2.4.2 Sitemap.xml文件 12
2.5 防爬虫应对策略 12
2.6 选择Python做爬虫的原因 14
2.7 案例——使用八爪鱼工具爬取第一个网页 14
小结 21
习题 21
第3章 网页请求原理 23
3.1 浏览网页过程 23
3.1.1 统一资源定位符 24
3.1.2 计算机域名系统 25
3.2 HTTP网络请求原理 25
3.2.1 分析浏览器显示完整网页的过程 26
3.2.2 客户端HTTP请求格式 26
3.2.3 服务端HTTP响应格式 30
3.3 HTTP抓包工具Fiddler 32
3.3.1 Fiddler工作原理 32
3.3.2 Fiddler下载安装 32
3.3.3 Fiddler界面详解 33
3.3.4 Fiddler爬取HTTPS设置 35
3.3.5 使用Fiddler捕获Chrome的会话 37
小结 40
习题 40
第4章 爬取网页数据 42
4.1 urllib库概述 42
4.2 快速使用urllib爬取网页 43
4.2.1 快速爬取一个网页 43
4.2.2 分析urlopen()方法 44
4.2.3 使用HTTPResponse对象 45
4.2.4 构造Request对象 46
4.3 使用urllib实现数据传输 47
4.3.1 URL编码转换 47
4.3.2 处理GET请求 48
4.3.3 处POST请求 49
4.4 添加特定Headers——请求伪装 51
4.5 代理服务器 52
4.5.1 简单的自定义opener 52
4.5.2 设置代理服务器 53
4.6 超时设置 54
4.7 常见的网络异常 55
4.7.1 URLError异常和捕获 55
4.7.2 HttpError异常和捕获 55
4.8 更人性化的requests库 56
4.8.1 requests库概述 56
4.8.2 requests库初体验 56
4.8.3 发送请求 58
4.8.4 返回响应 58
4.9 案例——使用urllib库爬取百度贴吧 59
小结 61
习题 61
第5章 数据解析 63
5.1 网页数据和结构 63
5.1.1 网页数据格式 63
5.1.2 网页结构 64
5.2 数据解析技术 64
5.3 正则表达式 65
5.4 XPath与lxml解析库 66
5.4.1 XPath概述 66
5.4.2 XPath语法 67
5.4.3 XPath开发工具 70
5.4.4 lxml库概述 72
5.4.5 lxml库的基本使用 75
5.5 Beautiful Soup 77
5.5.1 Beautiful Soup概述 77
5.5.2 构建BeautifulSoup对象 78
5.5.3 通过操作方法进行解读搜索 80
5.5.4 通过CSS选择器进行搜索 83
5.6 JSONPath与json模块 85
5.6.1 JSON概述 85
5.6.2 JSON与XML比较 86
5.6.3 json模块介绍 87
5.6.4 json模块基本应用 88
5.6.5 JSONPath简介 90
5.6.6 JSONPath语法对比 90
5.6.7 案例——获取拉勾网城市列表 92
5.7 案例——解析腾讯社会招聘网站的职位信息 94
5.7.1 明确爬虫爬取目标 95
5.7.2 分析要解析的数据 95
5.7.3 使用urllib库爬取社招网数据 96
5.7.4 使用正则、lxml、bs4解析职位数据 98
5.7.5 将数据保存到文件中 103
小结 104
习题 104
第6章 并发下载 106
6.1 多线程爬虫流程分析 106
6.2 使用queue模块实现多线程爬虫 107
6.2.1 queue(队列)模块简介 107
6.2.2 Queue类概述 109
6.3 协程实现并发爬取 110
6.3.1 协程爬虫的流程分析 111
6.3.2 第三方库gevent 111
6.4 案例——三种技术采集和解析数据对比 112
6.4.1 单线程实现 112
6.4.2 多线程实现 114
6.4.3 协程实现 119
6.4.4 性能分析 122
小结 123
习题 123
第7章 爬取动态内容 124
7.1 动态网页介绍 124
7.2 selenium和PhantomJS概述 125
7.3 selenium和PhantomJS安装配置 126
7.4 selenium和PhantomJS的基本应用 128
7.4.1 入门操作 128
7.4.2 定位UI元素 133
7.4.3 鼠标动作链 135
7.4.4 填充表单 136
7.4.5 弹窗处理 137
7.4.6 页面切换 138
7.4.7 页面前进和后退 138
7.4.8 获取页面Cookies 138
7.4.9 页面等待 138
7.5 案例——模拟豆瓣网站登录 140
小结 142
习题 142
第8章 图像识别与文字处理 145
8.1 OCR技术概述 145
8.2 Tesseract引擎的下载和安装 147
8.3 pytesseract和PIL库概述 148
8.3.1 pytesseract库概述 149
8.3.2 PIL库概述 149
8.4 处理规范格式的文字 150
8.4.1 读取图像中格式规范的文字 151
8.4.2 对图片进行阈值过滤和降噪处理 151
8.4.3 识别图像的中文字符 153
8.5 处理验证码 154
8.5.1 验证码分类 154
8.5.2 简单识别图形验证码 155
8.6 案例——识别图形验证码 156
小结 157
习题 157
第9章 存储爬虫数据 159
9.1 数据存储概述 159
9.2 MongoDB数据库概述 160
9.2.1 MongoDB的概念 160
9.2.2 Windows平台安装MongoDB数据库 160
9.2.3 比较MongoDB和MySQL的术语 163
9.3 使用PyMongo库存储到数据库 165
9.3.1 PyMongo的概念 165
9.3.2 PyMongo的基本操作 165
9.4 案例——存储网站的电影信息 169
9.4.1 分析待爬取的网页 169
9.4.2 通过urllib爬取全部页面 169
9.4.3 通过bs4选取数据 171
9.4.4 通过MongoDB存储电影信息 172
小结 173
习题 173
第10章 初识爬虫框架Scrapy 175
10.1 常见爬虫框架介绍 175
10.2 Scrapy框架的架构 179
10.3 Scrapy框架的运作流程 180
10.4 安装Scrapy框架 181
10.4.1 Windows 7系统下的安装 181
10.4.2 Linux(Ubuntu)系统下的安装 184
10.4.3 Mac OS系统下的安装 185
10.5 Scrapy框架的基本操作 186
10.5.1 新建一个Scrapy项目 186
10.5.2 明确爬取目标 187
10.5.3 制作Spiders爬取网页 188
10.5.4 永久性存储数据 193
10.5.5 Scrapy常用命令 193
小结 194
习题 194
第11章 Scrapy终端与核心组件 196
11.1 Scrapy shell——测试XPath表达式 196
11.1.1 启用Scrapy shell 196
11.1.2 使用Scrapy shell 197
11.1.3 Scrapy shell使用示例 198
11.2 Spiders——爬取和提取结构化数据 200
11.3 Item Pipeline——后期处理数据 201
11.3.1 自定义Item Pipeline 201
11.3.2 完善之前的案例——item写入JSON文件 202
11.4 Downloader Middlewares——防止反爬虫 203
11.5 Settings——定制Scrapy组件 206
11.6 案例——斗鱼App爬虫 208
11.6.1 使用Fiddler爬取手机App的数据 208
11.6.2 分析JSON文件的内容 210
11.6.3 使用Scrapy爬取数据 211
小结 214
习题 214
第12章 自动爬取网页的爬虫CrawlSpider 216
12.1 初识爬虫类CrawlSpider 216
12.2 CrawlSpider类的工作原理 219
12.3 通过Rule类决定爬取规则 221
12.4 通过LinkExtractor类提取链接 222
12.5 案例——使用CrawlSpider爬取腾讯社会招聘网站 223
小结 228
习题 228
第13章 Scrapy-Redis分布式爬虫 230
13.1 Scrapy-Redis概述 230
13.2 Scrapy-Redis的完整架构 231
13.3 Scrapy-Redis的运作流程 231
13.4 Scrapy-Redis的主要组件 232
13.5 搭建Scrapy-Redis开发环境 233
13.5.1 安装Scrapy-Redis 233
13.5.2 安装和启动Redis数据库 234
13.5.3 修改配置文件redis.conf 239
13.6 分布式的部署 242
13.6.1 分布式策略 242
13.6.2 测试Slave端远程连接Master端 243
13.7 Scrapy-Redis的基本使用 245
13.7.1 创建Scrapy项目 245
13.7.2 明确爬取目标 246
13.7.3 制作Spider爬取网页 247
13.7.4 执行分布式爬虫 249
13.7.5 使用多个管道存储 250
13.7.6 处理Redis数据库中的数据 252
13.8 案例——使用分布式爬虫爬取百度百科网站 253
13.8.1 创建Scrapy项目 254
13.8.2 分析爬虫的目标 255
13.8.3 制作Spider爬取网页 257
13.8.4 执行爬虫 260
小结 262
习题 262
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《大数据Hadoop 3.X分布式处理实战》吴章勇,杨强 2020
- 《高等学校“十三五”规划教材 C语言程序设计》翟玉峰责任编辑;(中国)李聪,曾志华,江伟 2019
- 《改革进程中的刑事诉讼程序与证据问题研究 基于警察的视角》谢波 2019
- 《Java程序设计基础》罗刚 2018
- 《C++程序设计实验指导 第2版》张潇责任编辑;孟桂娥 2019
- 《C程序设计教程 第3版》林小茶,陈昕 2018
- 《Java语言程序设计教程》胡光 2018
- 《C语言程序设计》黑新宏,胡元义主编 2019
- 《C++语言程序设计习题与实验指导》姚雅鹃,石礼娟 2018
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《中国当代乡土小说文库 本乡本土》(中国)刘玉堂 2019
- 《异质性条件下技术创新最优市场结构研究 以中国高技术产业为例》千慧雄 2019
- 《中国铁路人 第三届现实主义网络文学征文大赛一等奖》恒传录著 2019
- 《莼江曲谱 2 中国昆曲博物馆藏稀见昆剧手抄曲谱汇编之一》郭腊梅主编;孙伊婷副主编;孙文明,孙伊婷编委;中国昆曲博物馆编 2018
- 《中国制造业绿色供应链发展研究报告》中国电子信息产业发展研究院 2019
- 《中国陈设艺术史》赵囡囡著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《《走近科学》精选丛书 中国UFO悬案调查》郭之文 2019
- 《清至民国中国西北戏剧经典唱段汇辑 第8卷》孔令纪 2018
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018