||
上学期潘老师给了我一个很益的建议,利用爬虫的方法从网络上面收集一些数据,以利用论文中的实验。当时我就参考的大量的网上资料,学习了Python,及利用其进行爬虫的方法。中间回家了一星期,但我仍然带中Python入门的相关书籍,大概了解了Python的基本用法以后,我就立即进行利用Python编写爬虫代码。从开始学到最后的爬虫代码成形,大概用了3个星期的时间。但现在遇到《集体智慧编程》(Programming Collective Intelligence)一书,我立刻有了这样一个感觉,之前的努力都是弯路,浪费的不少时间,要是某某给我推荐这样一本书不就很快完成当时的任务了么,我又扪心自问,为什么自己不能主动问问相关的对这方面熟悉的人呢?不过,我当时问后面的师弟了,我给我推荐了一个博客,但仍然是效果不大。我的感慨是读了该书后,以前遇到的那个问题,借鉴该书的代码不到2个小时就能实现的事情,为什么前前后后花费了3个多星期的时间呢?总结经验如下:
l 有些时候遇到问题,没有毕业按照自己想象的“线性顺序”去解决。而是在进行相关的背景铺垫的时候,要时刻注意问题,不要“跑偏”。我容易犯的错误是,总是学习了太多的背景知识,想把所有一切都搞懂,结果是占用了大量与问题解决无关的时间。实际上某个问题的解决并不需要太多相关的知识,有些你认为相关,实际上回头解决问题后,你再看,好多都是不相关的。
l 要不耻下问。这是古代哲人说的话,对于现代的人来说仍然适用。许许多多简单的经典名句,看似简单,却是很难践行,也就是“说易做难”。我们总是自大的认为我自己能够完成这样的事情,我比别人并不差,我为什么要问别人,这样不显得我不如别人吗?事情不是这样的,这不是“谁比谁差”的问题,而是分工合作,互通有无,就想当今世界的商品交换的原理一样。不同的人是有差异的,一个擅长这个领域,而另外一个却擅长另外一领域,双方互相询问和帮助对方就加快了问题解决的进度。
l 走对路很重要。在自己确定进入一个自己不熟悉的领域时,一定要找一个在该领域有经验的人指导,这样能让自己不走弯路,节省自己的时间。为什么有的人发表论文快,因为从一进入导师指导的那天起,就已经确定了研究问题,就进入论文写作的状态了。
l 学习Python的时候不要有“最新版本情结”。我在最开始解决那个问题的时间,好的网上的资料都说,写爬虫代码时要用到BeautifulSoup模块 (Module,这是Python语言的专用术语)。我下载该模块时,就发现有新的版本,但新版本的配置过程比较麻烦,实际上我最后配置好了,为了安装它我又装了好多仅仅为了安装才装的Python第三方包,最后使用的时候它的调用方法也改变了,需要用新的调用方法。这个过程时间用去的很多。而对与该库,昨天我按照该书的方法,就把beautifulSoup.py (这是Beautiful 3.x版本提供的文件)拷贝到我工作的文件夹下就可使用了,而且和Python 2.7.6版本配合的很好,完全能满足我的需求。有的时候,不能追求的“太新”,只要“一般新”就可以了。
l 有些书只看它的大概内容就可以了,知道什么内容在什么地方找就可以了,没必要每个细节都抓。比如说Mark Lutz的《Learning Pyton》这个1500多页的大部头书,我当时看的时候想没个语言细节都弄懂,发现时间不允许,我就索性快速读完,知道什么可以查自己需要的内容即可。我刚开始的时候,不知道,什么书都想事无巨细的全部都精读,这是不行的。读懂《Learning Pyton》前几章的内容,你就能够无障碍地读懂《集体智慧编程》第2章和第3章中的代码示例。但是你为了读懂后面的那本书,而先把《Learning Python》好好认真的从头读到尾,恐怕等你开始读《集体智慧编程》的时候,时间已经过去半个月了。
且行且珍惜,抓紧时间奋斗吧!Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-21 22:14
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社