Python爬虫开发:从入门到实战(微课版)
上QQ阅读APP看书,第一时间看更新

我在上大学的时候开始学习Python,使用Python做的第一个项目就是学校教务处爬虫,用来爬取教务处的各种通知并导入到微信公众号中。在对爬虫开发比较熟练以后,我在淘宝上开了一个店铺用来承接各种爬虫的私活。我的店铺是淘宝上面第一个爬虫开发的店铺。

在我工作以后,极客学院联系我,让我作为布道师在极客学院上讲授爬虫开发的课程。这些课程就是本书内容的前身。

本书适用于有一定编程基础的读者。虽然第2章讲解了Python 3的基础知识,但是由于Python博大精深,为了覆盖爬虫开发中的各种知识,所以自然需要省略一些细节上的内容。因此,如果读者有一定的编程基础与开发常识,那么阅读本书将会事半功倍。

本书提供了练习网站,其地址为http://exercise.kingname.info/。建议读者在学习本书的时候,根据书上的提示使用练习网站来练习爬虫的开发。这样做的好处有三点:其一,练习网站针对每一章开发,专门用于练习这一章的对应知识点,读者在开发爬虫的时候不用考虑其他的干扰因素。其二,定向爬虫对网站的改版较为敏感,因此,在使用第三方网站做例子的时候,一旦网站出现了改版,如果读者照搬本书的代码就会导致爬取不到数据。而如果使用练习网站,即便读者完全照搬本书的代码也可以保证爬虫成功运行。其三,在极客学院的视频课程中,我曾经使用一个第三方网站作为爬虫开发作业,由于视频课程的学生众多,大家都在爬这个网站导致网站承受不住压力被迫关闭。

本书在阶段练习中依然使用了一些第三方网站作为练习目标,读者在阅读本书并进行练习的时候,一定要注意学习书中讲到的分析方法,而不是照抄代码。当读者读到本书的时候,距离本书编写的相应网站爬虫应该已经过去了一段时间,所以如果根据书中的代码无法爬取网站,那么不要惊慌,仔细阅读书中的思路和方法,相信你一定可以重新爬取到数据。

在本书的构思和写作过程中,我得到了很多老师、同行和朋友的帮助。在此要感谢极客学院,本书内容脱胎于我在极客学院的爬虫系列视频课程,通过极客学院同学的反馈,我才能从视频课程里面总结和提炼出本书的内容;也要感谢极客学院的大静和温泉,在我录制视频课程的过程中对视频和文档进行认真细致的审核;还要感谢Linda,积极联系出版社,从而可以把这个爬虫系列视频课程整理出版为实体书。

另外要感谢我的学生老贤和魏鹏。在爬虫练习网站的开发过程中,魏鹏亲自测试了每一个练习页面,并针对每一个练习页面开发了对应的爬虫,以确认该页面所涉及的爬虫知识没有超出本书的范畴。

最后,我要感谢我的家人和我女朋友的督促,让我克服了拖延症。我女朋友是本书的第一个读者,她从零编程基础开始通过本书掌握了Python并入门爬虫开发,在阅读过程中,针对一些描述不清及有歧义的地方提出了改进意见。

编者

2017年12月