本学期在课程之外,自主计划学习Python语言以及爬虫知识。书籍方面,采用了O`Reilly的《深入浅出Python》与《Python网络数据采集》。前者用于Python语法的学习,后者则作为爬虫知识的详解。
与我们日常使用的教材不同的是,《深入》像是一个老鸟,在一步一步通过对话的形式手把手地教你。个人体会,该书作为入门教材,十分妥当,但是深入理解还需另辟蹊径。全书从文本处理出发讲解基础语法,再设计背景,随着假设要求不断扩展,将Python语言在web开发、Android应用开发等领域的作用通过示例的形式展现出来。同时,留下大量空白,要求读者自己动手,尝试写出代码。但是,该书在引导学习的方面有一定问题,就是当读者只用这一本书时,会由于语法使用较少而在后面的学习中难以读懂程序含义。因此,在读该书的时候,可以尝试跟其他书籍一同阅读,如:《Python核心编程》。《核心编程》与其说是教材,不如说是本工具书,配合《深入》使用更佳。总的来说,《深入》是一本介绍性为主的书籍,书的后部分的应用介绍,提供了很多模板,在本学期的课内实验中,我采用了相关的技术。但是,语言归语言,《深入》对于功能的介绍并不算很深入,当有一定基础之后,再看该书,又有点鸡肋的感觉。
而《网络数据采集》则更贴近与我们平时使用的教材,从基础的数据采集,到高级的数据处理,同样是用功能的实现来体现技术。在阅读该书之前,我便已经开始从网上查找资料、学习视频学习爬虫技术了。本学期,程序设计课程,我便利用爬虫技术,完成了作业设计功能。但是,随着程序的功能不断扩充,更为规范高效的爬虫技术,成了我的瓶颈。因此我才购入此书,以求获得技术上的提升。该书篇幅不大,内容较精,但是随着时间进入到期末,不得不停下来,因此现在还没有看完。总的感受是,该书所提供的方法,跟网上的教程相比,突出的特点是编码的规范化,和方法的精练。而未能读完的后半部分则偏向于处理更难的问题。
人生苦短,我用Python。在读了两本书之后,感受到一个良好的语言社区是多么的重要。当然,也导致了我现在一看超过百行的代码就眼花。