前言
为什么写这本书
在这个数据爆炸的时代,不论是提供底层基础架构的云计算,还是实现各种人工智能的应用,都离不开其核心的源泉——数据。由于网络中的数据太多、太宽泛,人们需要通过特殊的技术和方法实现在海量的数据中搜集到真正有价值的数据,从而为下一步的数据清洗、分析和可视化等技术提供数据支撑。因此,网络爬虫应运而生。
本书从基础的Python环境搭建、Python基础语法、网络基础知识入手,结合实例,由浅入深地讲解了常用爬虫库和解析库、数据持久化存储、Web API和异步数据抓取技术、Selenium和Chrome Driver操作、Scrapy爬虫框架的基本原理和操作。本书提供了爬虫案例和源代码,以便读者能够更加直观和快速地学会爬虫的编写技巧。
希望本书对大数据从业人员或者网络爬虫爱好者具有一定的参考价值,通过对本书的学习能够更好地解决工作和学习过程中遇到的问题,少走弯路。
本书的读者对象
● 高等职业院校大数据技术与应用专业的学生。
● Python网络爬虫初学者。
● 网络爬虫工程师。
● 大数据及数据挖掘工程师。
● 其他对Python或网络爬虫感兴趣的人员。
本书内容介绍
本书分为两大部分:理论知识(任务1~8)和综合案例(任务9)。
任务1:讲解了Python环境搭建和Python基础语法,让读者能够了解Python的基础知识。
任务2:通过抓取百度官方网站页面,阐述了爬虫的基本概念、工作过程,以及Web前端和网络基础知识,让读者能够更好地理解网络爬虫。
任务3:通过实现学生就业信息数据读/写和数据持久化,阐述了MySQL的基本知识和安装过程,并使用PyMySQL库在Python环境中实现了对CSV和JSON格式数据的读/写操作。
任务4:通过使用Web API采集GitHub API的项目数据,阐述了GitHub的使用方法和GitHub AP I项目数据的抓取方法。
任务5:通过使用AJAX采集汽车之家网站的数据,阐述了AJAX的基本原理和特点、静态数据和动态数据的区别,以及结合浏览器页面分析工具用AJAX提取数据的方法。
任务6:阐述了使用tesserocr库、Selenium和ChromeDriver解析当前主流验证码的方法。
任务7:介绍了计算机网络中GET和POST请求的基本内容和区别,并阐述了使用Cookie、Selenium和ChromeDriver实现对网站进行模拟登录的方法。
任务8:介绍了Scrapy爬虫框架的基本内容和工作原理,并阐述了使用Scrapy实现对网站数据进行采集的方法。
任务9:综合运用前面学习的知识,实现一个网络爬虫的综合案例。
勘误和支持
由于编者水平有限,书中难免存在一些疏误之处,恳请各位读者不吝指正。
致谢
感谢机械工业出版社编辑人员对编者工作的理解、帮助和支持。
感谢付雯老师、王正霞老师、胡心雷老师的共同参与和辛勤付出。
感谢为本书做出贡献的每一个人。
谨以此书献给热爱Python爬虫技术的朋友们!
李俊翰