PREFACE 前 言
Python现在非常火爆。但 Python就和英语一样,如果只会 Python语言,就相当于只能用英语进行日常会话。然而,真正的英语高手是可以作为专业领域翻译的,如 IT、金融、数学等专业领域。 Python也是一样,光学习 Python语言是不行的,要想找到更好的工作,或得到更高的薪水,需要学会用 Python做某一领域的应用。
现在 Python应用的热门领域比较广,例如人工智能,不过人工智能不光涉及 Python语言本身的技术,还涉及数学领域的知识,虽然比较火爆,但绝对不是短时间可以掌握的。然后有一个领域与人工智能的火爆程度相当,但不像人工智能那样难入门,这就是爬虫领域。
为什么爬虫领域如此火爆呢?其实爬虫的基本功能就是从网上下载各种类型的数据(如 HTML、图像文件等)。但不要小瞧这些下载的数据,因为这些数据将成为很多应用的数据源。例如,著名的 Google搜索引擎,每天都会有数以亿计的查询请求,而搜索引擎为这些请求返回的数据,都是来源于强大的爬虫。编写搜索引擎的第一步就是通过爬虫抓取整个互联网的数据,然后将这些数据库保存到本地(以特定的数据格式),接下来就是对这些数据进行分析整理。然后才可以通过搜索引擎进行查询。虽然搜索引擎的实现技术非常多,也非常复杂,但爬虫是 1,其他的所有技术都是 0,如果没有爬虫搜集数据,再强大的分析程序也毫无用武之地。
除了搜索引擎外,人工智能中的重要分支深度学习也需要爬虫抓取的数据来训练模型。例如,要想训练一个识别金字塔的深度学习模型,就需要大量与金字塔相关的图片进行训练。最简单的方式,就是使用百度或谷歌搜索金字塔图片,然后用爬虫抓取这些图片到本地。这是利用了搜索引擎通过关键字分类的特性,并且重新利用了这些分类的图片。
通过这些例子可以了解到,学习爬虫是进入其他更高端领域的钥匙,所以学习 Python爬虫将成为第一个需要选择的热门领域。
尽管爬虫的基本功能是下载文件,但一个复杂的爬虫应用,可不光涉及网络技术。将数据下载后,还需要对数据进行分析,提取需要的信息,以及进行数据可视化,甚至需要一个基于 UI的可视化爬虫。所以与爬虫有关的技术还是很多的。
由于 Pythonp爬虫涉及的技术很多,学习资料过于分散。所以,笔者觉得很有必要编写一本全面介绍 Python爬虫实战类的书籍,在书中分享笔者对 Python爬虫以及相关技术的理解和经验,帮助同行和感兴趣的朋友快速入门,并利用 Python语言编写各种复杂的爬虫应用。笔者希望本书能起到抛砖引玉的作用,使读者对 Python爬虫以及相关技术产生浓厚的兴趣,并能成功进入 Python爬虫领域。加油!高薪的工作在等着你们!
本书使用最新的 Python 3编写,并在书中探讨了关于 Python爬虫的核心技术。全书分 5篇,共 20章。内容涵盖 Python爬虫的基础知识、常用网络库、常用分析库、数据存储技术、异步数据处理、可见即可爬技术、抓取移动 App、Scrapy等。本书还包含 20多个真实的项目,以便让读者身临其境 地体验 Python爬虫的魅力。
限于篇幅,本书无法囊括 Python爬虫以及相关技术的方方面面,只能尽自己所能,与大家分享尽可能多的知识和经验。相信通过本书的学习,读者可以拥有进一步深入学习的能力,达到 Python爬虫高手的程度也只是时间问题。
最后,笔者希望本书能为国内的 Python爬虫以及相关技术的普及,为广大从业者提供有价值的实践经验并帮助他们快速上手贡献绵薄之力。
编著者 2019年 10月