描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787115480347
案例丰富,注重实战 博客文章过百万的静觅大神力作 全面介绍了数据采集、数据存储、动态网站爬取、App爬取、验证码破解、模拟登录、代理使用、爬虫框架、分布式爬取等知识 涉及的库或工具:urllib、requests、Beautiful Soup、XPath、pyquery、redis-py、PyMongo、PyMySQL、Selenium、Splash、Charles、mitmproxy、mitmdump、Appium、pyspider、Scrapy、Scrapy-Redis、Scrapy-Splash、Docker、Bloom Filter、Gerapy等
本书介绍了如何利用Python 3开发网络爬虫,书中首先介绍了环境配置和基础知识,然后讨论了urllib、requests、正则表达式、Beautiful Soup、XPath、pyquery、数据存储、Ajax数据爬取等内容,接着通过多个案例介绍了不同场景下如何实现数据爬取,*后介绍了pyspider框架、Scrapy框架和分布式爬虫。 本书适合Python程序员阅读。
第 1章 开发环境配置1
1.1 Python 3的安装1
1.1.1 相关链接1
1.1.2 Windows下的安装1
1.1.3 Linux下的安装6
1.1.4 Mac下的安装8
1.2 请求库的安装10
1.2.1 requests的安装10
1.2.2 Selenium的安装11
1.2.3 ChromeDriver的安装12
1.2.4 GeckoDriver的安装15
1.2.5 PhantomJS的安装17
1.2.6 aiohttp的安装18
1.3 解析库的安装19
1.3.1 lxml的安装19
1.3.2 Beautiful Soup的安装21
1.3.3 pyquery的安装22
1.3.4 tesserocr的安装22
1.4 数据库的安装26
1.4.1 MySQL的安装27
1.4.2 MongoDB安装29
1.4.3 Redis的安装36
1.5 存储库的安装39
1.5.1 PyMySQL的安装39
1.5.2 PyMongo的安装39
1.5.3 redis-py的安装40
1.5.4 RedisDump的安装40
1.6 Web库的安装41
1.6.1 Flask的安装41
1.6.2 Tornado的安装42
1.7 App爬取相关库的安装43
1.7.1 Charles的安装44
1.7.2 mitmproxy的安装50
1.7.3 Appium的安装55
1.8 爬虫框架的安装59
1.8.1 pyspider的安装59
1.8.2 Scrapy的安装61
1.8.3 Scrapy-Splash的安装65
1.8.4 Scrapy-Redis的安装66
1.9 部署相关库的安装67
1.9.1 Docker的安装67
1.9.2 Scrapyd的安装71
1.9.3 Scrapyd-Client的安装74
1.9.4 Scrapyd API的安装75
1.9.5 Scrapyrt的安装75
1.9.6 Gerapy的安装76
第 2章 爬虫基础77
2.1 HTTP基本原理77
2.1.1 URI和URL77
2.1.2 超文本78
2.1.3 HTTP和HTTPS78
2.1.4 HTTP请求过程80
2.1.5 请求82
2.1.6 响应84
2.2 网页基础87
2.2.1 网页的组成87
2.2.2 网页的结构88
2.2.3 节点树及节点间的关系90
2.2.4 选择器91
2.3 爬虫的基本原理93
2.3.1 爬虫概述93
2.3.2 能抓怎样的数据94
2.3.3 JavaScript渲染页面94
2.4 会话和Cookies95
2.4.1 静态网页和动态网页95
2.4.2 无状态HTTP96
2.4.3 常见误区98
2.4.4 参考资料99
2.5 代理的基本原理99
2.5.1 基本原理99
2.5.2 代理的作用99
2.5.3 爬虫代理100
2.5.4 代理分类100
2.5.5 常见代理设置101
2.5.6 参考来源101
第3章 基本库的使用102
3.1 使用urllib102
3.1.1 发送请求102
3.1.2 处理异常112
3.1.3 解析链接114
3.1.4 分析Robots协议119
3.2 使用requests122
3.2.1 基本用法122
3.2.2 高级用法130
3.3 正则表达式139
3.4 抓取猫眼电影排行150
第4章 解析库的使用158
4.1 使用XPath158
4.2 使用Beautiful Soup168
4.3 使用pyquery184
第5章 数据存储197
5.1 文件存储197
5.1.1 TXT文本存储197
5.1.2 JSON文件存储199
5.1.3 CSV文件存储203
5.2 关系型数据库存储207
5.3 非关系型数据库存储213
5.3.1 MongoDB存储214
5.3.2 Redis存储221
第6章 Ajax数据爬取232
6.1 什么是Ajax232
6.2 Ajax分析方法234
6.3 Ajax结果提取238
6.4 分析Ajax爬取今日头条街拍美图242
第7章 动态渲染页面爬取249
7.1 Selenium249
7.2 Splash262
7.3 Splash负载均衡配置286
7.4 使用Selenium爬取淘宝商品289
第8章 验证码的识别298
8.1 图形验证码的识别298
8.1.1 本节目标299
8.1.2 准备工作299
8.1.3 获取验证码299
8.1.4 识别测试299
8.1.5 验证码处理299
8.1.6 本节代码301
8.1.7 结语301
8.2 极验滑动验证码的识别301
8.3 点触验证码的识别311
8.4 微博宫格验证码的识别318
第9章 代理的使用326
9.1 代理的设置326
9.2 代理池的维护333
9.3 付费代理的使用347
9.4 ADSL拨号代理351
9.5 使用代理爬取微信公众号文章364
第 10章 模拟登录379
10.1 模拟登录并爬取GitHub379
10.2 Cookies池的搭建385
第 11章 App的爬取398
11.1 Charles的使用398
11.2 mitmproxy的使用405
11.3 mitmdump爬取“得到”App电子书
信息417
11.4 Appium的基本使用423
11.5 Appium爬取微信朋友圈433
11.6 Appium mitmdump爬取商品437
第 12章 pyspider框架的使用443
12.1 pyspider框架介绍443
12.2 pyspider的基本使用445
12.3 pyspider用法详解459
第 13章 Scrapy框架的使用468
13.1 Scrapy框架介绍468
13.2 Scrapy入门470
13.3 Selector的用法480
13.4 Spider的用法486
13.5 Downloader Middleware的用法487
13.6 Spider Middleware的用法494
13.7 Item Pipeline的用法496
13.8 Scrapy对接Selenium506
13.9 Scrapy对接Splash511
13.10 Scrapy通用爬虫516
13.11 Scrapyrt的使用533
13.12 Scrapy对接Docker536
13.13 Scrapy爬取新浪微博541
第 14章 分布式爬虫555
14.1 分布式爬虫原理555
14.2 Scrapy-Redis源码解析558
14.3 Scrapy分布式实现564
14.4 Bloom Filter的对接569
第 15章 分布式爬虫的部署577
15.1 Scrapyd分布式部署577
15.2 Scrapyd-Client的使用582
15.3 Scrapyd对接Docker583
15.4 Scrapyd批量部署586
15.5 Gerapy分布式管理590
在互联网软件开发工程师的分类中,爬虫工程师是非常重要的。爬虫工作往往是一个公司核心业务开展的基础,数据抓取下来,才有后续的加工处理和*终展现。此时数据的抓取规模、稳定性、实时性、准确性就显得非常重要。早期的互联网充分开放互联,数据获取的难度很小。随着各大公司对数据资产日益看重,反爬水平也在不断提高,各种新技术不断给爬虫软件提出新的课题。本书作者对爬虫的各个领域都有深刻研究,书中探讨了Ajax数据的抓取、动态渲染页面的抓取、验证码识别、模拟登录等高级话题,同时也结合移动互联网的特点探讨了App的抓
林子 –
书中的内容在实际操作中会出现报错,而书中没有讲到。另外书中有些章节讲的过于简单。但是总体还不错。
梦不止命不… –
一直挺期待,早些时候也接触过作者,那时候才研究生吧,结果现在都硕士了还出书了,哈哈,支持下,顺便也系统学习下爬虫,网络上的知识太千篇一律了!