Python爬虫开发 从入门到实战(微课版)免费阅读在线

简介: 基于Python 3.X讲解,从入门到实战,全面讲解Python爬虫技术。全书重点难点附带微课讲解,书网融合互动学习。

内容提要

本书较为全面地介绍了定向爬虫的开发过程、各种反爬虫机制的破解方法和爬虫开发的相关技巧。全书共13章,包括绪论、Python基础、正则表达式与文件操作、简单的网页爬虫开发、高性能HTML内容解析、Python与数据库、异步加载与请求头、模拟登录与验证码、抓包与中间人爬虫、Android原生App爬虫、Scrapy、Scrapy高级应用、爬虫开发中的法律和道德问题等。除第1、12、13章外的其他章末尾都有动手实践,以帮助读者巩固本章和前面章节所学的内容。针对书中的疑难内容,还配有视频讲解,以便更好地演示相关操作。

本书适合作为高校计算机类专业的教材,也适合作为网络爬虫技术爱好者的自学参考书。

前言

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

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

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

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

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

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

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

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

第1章

绪论

■ 所谓爬虫,其本质是一种计算机程序,它的行为看起来就像是蜘蛛在网上面爬行一样,顺着互联网这个“网”,一条线一条线地“爬行”。所以爬虫在英文中又叫作“Spider”,正是蜘蛛这个单词。

版权:人民邮电出版社