Python 爬虫开发与项目实战
本书结构
本书总共分为三个部分:基础篇、中级篇和深人篇。
基础篇包括第1~7章,主要讲解了什么是网络爬虫、如何分析静态网站、如何开发一个完整的爬虫。
第1~2章帮助大家回顾了Python 和 Web 方面的知识,主要是为之后的爬虫学习打下基毕竟之后要和 Python、Web 打交道。础,
第3~5章详细介绍了什么是网络爬虫、如何分析静态网站、如何从HTML页面中提取出有效的数据,以及对如何将数据合理地存储成各类文件以实现持久化。
第6~7章包含了两个实战项目。第一个项目是基础爬虫,也就是一个单机爬虫,功能是爬取百度百科的词条,并据此讲解了一个爬虫所应该具有的全部功能组件以及编码实现。第二个项目是分布式爬虫,功能和基础爬虫一致,在单机爬虫的基础上进行分布式改进,帮助大家从根本上了解分布式爬虫,消除分布式爬虫的神秘感。
中级篇包括第8~14章,主要讲解了三种数据库的存储方式、动态网站的抓取、协议分析和 Scrapy 爬虫框架。
第8章详细介绍了 SQLite、MySQL和 MongoDB 三种数据库的操作方式,帮助大家实现
爬取数据存储的多样化。第9章主要讲解了动态网站分析和爬取的两种思路,并通过两个实战项目帮助大家理解。第 10章首先探讨了爬虫开发中遇到的两个问题--登录爬取问题和验证码问题,并提供了解决办法和分析实例。接着对 Web 端的爬取提供了另外的思路,当在 PC 网页端爬取遇到困难时,爬取方式可以向手机网页端转变。
第 11章接着延伸第 10章的问题,又提出了两种爬取思路。当在网页站点爬取遇到困难时,爬取思路可以向PC客户端和移动客户端转变,并通过两个实战项目帮助大家了解实施过程。
第12~14章由浅及深地讲解了著名爬虫框架 Scrapy的运用,并通过知乎爬虫这个实战项目演示了 Scrapy 开发和部署爬虫的整个过程。
深入篇为第 15~18 章,详细介绍了大规模爬取中的去重问题以及如何通过 Scrapy 框架
开发分布式爬虫,最后又介绍了一个较新的爬虫框架 PySpider。第 15 章主要讲解了海量数据的去重方式以及各种去重方式的优劣比较。第16~17章详细介绍了如何通过Redis和Scrapy的结合实现分布式爬虫,并通过云起书院实战项目帮助大家了解整个的实现过程以及注意事项。
第 18章介绍了一个较为人性化的爬虫框架 PySpider,并通过爬取豆瓣读书信息来演示其基本功能。