闲话图书馆

Apr 13, 2007

Comments

从小到大我就爱泡图书馆。 这个习惯是从高中养成的,直到现在也保持这个习惯。我泡过的学校图书馆包括扬州中学图书馆,南京大学图书馆,北京大学图书馆,还有现在WUSTL的图书馆。 这里随便写几个对这几个图书馆的映象。

扬州中学的图书馆是我最怀恋的图书馆。 或许大家都想像不到,扬州中学图书馆中有两个书架的理科老书,基本涵盖大学理科所有教材。我估计是当年扬大流落过来的,或者是当年我们高中太牛了, 高中生学大学知识。 那些书 都是60年代文革前的,书后面的借书记录密密麻麻。 我常常看着那些记录,想像若干年前是不是也有一个和我一样的人,躲在图书馆的一角,啃着这本书。除了这些理科书,更多的是校友捐赠的书, 那些校友都是知名的企业家,院士等。 我当年看到一套通俗数学名著译丛,就是上海的某个院士校友捐赠的。这套书我在其他图书馆一直没找全过。 扬州中学的图书馆就好像是cygwin, 把一个强大的世界引入了一个本来不强大的系统。当然,玩转cygwin 显然是需要 Linux 基础的,所以当年啃那些书,就和学习cygwin 一样,其实是事倍功半的。不过反过来,相比较于其他高中的图书馆,我们学校的图书馆实在是天堂。要知道,现在有些高中图书馆,彻底不能算图书馆,因为除了教辅书没其他书。我们以前还能借到金庸红楼梦,可想我们高中自由的风气了。

南大图书馆藏书其实不算多,珍本我们也看不到,书很普通,也不多,因此我才立下宏愿要看完几书架。 南大图书馆正书少,小说多。就是因为书少,大家都去看小说了,剩下我们看非小说的就很容易了。正书总在架上等你借,从来没有被人借了要等的情况。南大有很多92年前的书单独分类,在这里我发现我高中的每本老书这里都有,所以一度很高兴。不过上面我提到的通俗数学名著译丛这套书在南大只有两本,真不知 道他们怎么采购的。南大图书馆也有一个缺点,就是难借难用。首先,如老罗定理的推论所说: 每个大学的图书馆都有一个更年期的女人负责,你想问什么情况时候她总是不搭理你, 你不想她打扰的时候她总是烦你;其次,南大分鼓楼和浦口两个校区,好书都在鼓楼,想借需要跨馆手续。 南大几乎每个系都有图书馆,我们系藏书甚多,但只对研究生开放,加上我一心搞计算机,所以我也没去过几次。 南大的图书馆就属于老版本UNIX, 朴实无华, 器钝但坚, 和校训诚朴雄伟相得益彰,既不张扬,也不冒进,全是普通的有用的书,新书和善本都不算很多,但是做日常的事情,这个图书馆也就够了。

北大图书馆是我研究生复试的时候拿前女友学生证混进去自习才熟悉的。不过书没好好看倒是把图书馆的结构摸了个清楚。 北大图书馆书的确多,善本珍本也多。 我那会儿要准备生物考试,其实生物一窍不通,于是想借一本生物化学临阵磨枪。去一看,乖乖,就光是书脊上写了生物化学这四个字书的数目就比我在南大看的所有小说书占的书架还要多。这个是什么概念呢,就是说,依我的看书速度(3天/本快速扫描),假如我真在北大读五年生物信息学研究生,最后结果是生物化学书都没读完,而生物化学其实只是生物学的一个不算大的子学科。不过北大计算机科学方面的书貌似不算多。我这么说第一是因为影印本的书我没发现几本; 第二是我用Knuth为关键字只发现四本书,就是TAOCP和具体数学, 还没南大多呢。其他图灵奖获得者的书北大也很少,因此我怀疑牛X的书全跑计算机系了。 当时我就想啊,什么时候把北大图书馆的计算机书囫囵看完我就牛X了,结果这个愿望实现不了了,所以我到现在也不牛X…… 说了这么多一塔湖图的好话,再说点不好的。北大图书馆我不太喜欢,个人原因是因为我大模大样跑进去看书居然被保安发现我用前女友的卡,罚了我20块钱,心疼啊!不过这当然不是主要的了,主要因为两点,第一,它的索书体系需要学习好长时间才能明白,北大图书馆的确历史深厚,基本没有采用中图分类法,这意味着如果你对国家图书馆很熟悉,去北大找书,肯定撞墙或者撞书架,当然也有小概率撞美女,但你绝对撞不到要找的书。 第二是书架上的书放置顺序比较不讲究,几乎等于我不知道算法的hash表。我找一本书,左右两本相邻编号的书我都发现了,但是这本书硬是要在离他三个书架 远的地方找到。可以想象北大学生找书的时候肯定和众里寻她千百度一样采用O(n)顺序查找而不是O(log n)的折半查找,当然不排除他们采用O(1)的哈希我不知道。如果北大图书馆的书过一个sort 管道或者被Google 爬一次,估计效率会上升很多。 第三是重复书太多太多了,有的书我发现十本甚至更多放一起,我几乎怀疑北大的书过一个uniq 管道,藏书就剩下原来的 1/4 不到了。 当然,这些重复的书还是很有必要的。 如果要打比方,北大图书馆就是CPAN, 超级巨大,精华和不精华的都有,只要你能找,总能找到想要的。当然,你也可以说是以前很流行的wuarchive 里的软件了, 那个库里啥软件都有,啥事都能干,关键是要能找的到。

然后就说到现在学校的图书馆了。显然,分类法是美国分类,我学了好半天才学会(我喜欢把分类表自己记下,直接随机存取,从不问管理员)。我们学校的图书馆 是我见到的迄今分类最科学,我用着最舒服的图书馆了。 首先,想找的书永远在他的位置上,这一点不得不佩服老美的敬业,还有读者的高素质。 其次,因为历史原因,很多书是支持全文检索的,因此我可以很方便找到想要的。 最后,我可以预约借书,也就是说,我只要在网上选好了书,一个小时后直接去拿书,直接刷个卡就行了。当然这也和美国大的学术气氛有关系,在国内你借书是欠学校的,在这里你借书是天经地义的,你借书不爽那是学校欠你的,直接可以提意见,运气好还能奖励你纪念品。现在我们学校的图书馆,好比 Linux, 属于另一个体系,很高效,成本也低。一旦学会了这个体系,你就很喜欢,效率很高。

我也知道有不喜欢图书馆的哥们,什么书都是自己买,买回来看一次立即做枕头,好比windows底下一个一个正版软件往回买一样,那真是有钱啊! 我就老想等俺有钱了,啥也不着急搞,就先搞个图书馆,专门把小学的书放幼儿园书架,把初中书放小学书架,把高中书放初中书架,把大学书放高中书架,把研究生书放在大学本科书架,把研究生书架放上几本大师作品。策略上不光免费借书还送额外礼物,再和douban啊,amazon 啊该合作的全合作一下,和一流的版商作者联系搞些精品图书,专门培养牛人。不是说书非借不能读么,我就不信书那么难读,不信我的图书馆没人来借书 :)


推荐阅读: 砍柴不误磨刀功

Apr 12, 2007

Comments

李笑来老师是新东方的一个老师,我不认识。昨天从霍炬的Blog中连过去,一下子就喜欢上了他的一篇文章: 砍柴不误磨刀功。

他提到, 虽然说磨刀不误砍柴功,我们常常能看到的却是很多人天天“磨刀”却从不“砍柴”。 这样,怎么能保证自己磨出一把好刀,而不是把可塑之降魔杵磨成了一无是处绣花针呢?

他提到了两个例子, 一个是一本书中的一句话:经过多年观察,我们发现,最悲惨的事情莫过于大量的人正是由于没有目标所以才一直处于学习阶段之中。 是啊,学习变成了社会的正确价值选择, 好像只要你在磨刀,就是对的, 就是准备砍柴的, 可是有没有人好好想想,我这把刀,到底是不是要去砍柴呢, 将来是要去砍什么样的柴呢? 如果前面没多少荆棘的话,先揣一把钝刀,使用时候越来越快,可能也是一个方法。 另一个例子是丁磊。大家都知道,丁磊没有搜狐张朝阳那样显赫的海龟背景,也没有新浪那么好的政府关系,可是三大门户中,作为企业最成功的是网易。 他想做营销,但是他不懂,他不是报个MBA 躲到学校躲几年,而是通过关系先找到段永平这样的能人帮助,然后一边实践,一边学习。 从这件小事情也可以看出,丁磊是个真正的商人,是个做大事情的人。

结合我自己,我大学四年的经历让我明白两个道理,第一是有机会一定要尝试一下,不要错过机会;第二是先做出东西,让他能跑起来,再想着怎么把这个东西做完美,而不是空想了一个月结果没时间做了。 现在想想,其实第二点就是砍柴不误磨刀功。我们从小接受的教育就是要完全准备,不打无准备之仗,强调知识积累,不讲挑战和实践。有句话叫没有金刚钻,别揽 瓷器活,其实回来想想,或许你本来就是金刚钻,只是环境和机遇暂时没有眷顾你,使得你认识不到自己。既然有了瓷器活,上去揽一揽,就知道自己是不是金刚钻 了,再说年轻人,就算有点失败,回头一看,路还和天一样宽呢。

我推荐大家去读这篇“砍柴不误磨刀功”。李笑来老师在新东方想必阅学生无数,说的很有道理,很符合很多人的实际。


关于版权说几句

Apr 10, 2007

Comments

今天关于输入法网上流行一篇文章,叫谷歌输入法,是个丑闻</wbr>,但和版权无关。这个事情我已经说了很多话了,不想继续说两家公司</wbr>了。不过作者说词库属于数据库范畴,所以和版权保护不大一样</wbr>,在我国不受保护。本来看过就算的,可是让我担心的是这篇文章被k</wbr>eso推荐阅读,也在奇迹上发表了,也就是说非常多人会读到</wbr>。我觉得在这个问题上我有点不同认识,想说一下。

  1. 从技术角度说,词库不是一般意义的数据库。

为什么呢,词库的确是个数据库,但是这个数据库不是把网络上所有词</wbr>放在一起就行了,如果认真研究谷歌词库的格式,就会发现当中有一个</wbr>项是词频,还有一个项是注音。因为这两条,这个数据库的意义就不一</wbr>样了。为什么呢,举个例子吧,假设Google 没有PageRank, 自己把所有网页抓起来,建了一个数据库,那么,这个数据库是符合辛</wbr>勤采集原则的,因为网页目录仅仅是一个目录,因此很难说Yahoo</wbr>!对网页目录有版权,或者Google 和其他公司有版权。但是这个词频就让数据库的意义变了。为啥呢</wbr>,可以想像,到底是PageRank是Google搜索质量的核心</wbr>呢还是Google的海量数据库呢,答案当然是前者</wbr>,因为假设Baidu也拿到了PageRank, 理论上Baidu 也能做出一样的质量。那么,附加在网页库上的PageRank 指标能不能被保护呢,要不要被保护呢。当然要,因为这个数据是支撑</wbr>Google 质量的灵魂。同样,词频是支撑输入法首字正确的灵魂,因此</wbr>,当一个数据库中包含自己生成的数据的时候,就不是辛勤采集原则了</wbr>。好比咨询公司的市场调查报告中估计了各个公司以后的发展方向</wbr>,财务走向,那么这就不是简单把财务报表放在一起的数据库</wbr>,而是带有自身贡献的受法律保护的作品了。

  1. 数据和算法代码的不可分性

输入法这个例子很特殊,而且为了自定义词库扩充,技术上把算法</wbr>代码和词库分开了。那么,分开的受不受知识产权保护呢</wbr>,答案是肯定的。一来,sogou 没有单独发布这个官方词库作为一个开放数据库,而是作为sogou 输入法这个产品的部件发布的。二来无论怎么说,这个库有EUL</wbr>A, 谷歌没有遵守。如果举证恰当,这个侵犯著作权的官司谷歌肯定吃亏</wbr>。三来,只是在这个特例中词库是纯文本易于获得的形式</wbr>,试想如果sogou 把这个词库封装成dll的话,对他的使用就构成软件反向工程和著作权侵犯了。按照我们国家一般对软件的规定,封装成目标代码的模块和原模块是</wbr>同一事物。法律也不会因为不同的封装形式作出不同的判定。 因此,从这个意义上说,只是这个判例形式特殊</wbr>,本质上sogou 的词库的确属于软件产品的一部分,具有不可分性,并不能用法律上不</wbr>完善的数据库资源来界定。

  1. 中国网民相关知识的缺乏

由于中国的开放源代码运动不如国外,盗版软件使用非常多</wbr>,再加上教育本身不强调公开可获得与公开可利用的区别</wbr>,造成很多GFan 对这个事情有误解。我举个小例子,假如你使用了国家统计局的一些资</wbr>料写一篇报告,在美国,你必须自己转述这些话,而不能原样抄</wbr>,结尾也要给参考文献,尽管这些资料是公开可获得的</wbr>,你也必须对资料源给出应有的尊重。如果资料源公开且声明版权</wbr>,那么使用时必须遵循版权声明。以前大家有个错误的观念</wbr>,认为公开发表的资料是随意可以拿来修改再发布的</wbr>。开放源代码运动就会告诉你,修改再发布必须要遵循怎样的原则</wbr>,商业用途和非商业用途的区别在什么地方。再说个例子或许更好理解</wbr>了,珊瑚虫QQ做的很好,裁剪原来的QQ, 添加新功能,然而,腾讯并没有授予珊瑚虫修改再发布部件的权利</wbr>,因此这个官司显然会输掉。 现在帮谷歌在版权问题上洗白已经是徒劳了,只希望他们两家好好协商</wbr>把这个事情处理过去。

提醒大家:sogou 输入法词库不是简单的数据库资料,作为软件部件一样受法律保护</wbr>,这个不是Google快照那些层次的版权争议,这个是软件著作权</wbr>层次的,这个上面,谷歌是理亏而且法律上无法反击的</wbr>,只要sogou 举证到位,谷歌法律上麻烦比较大。


酷Linux 专栏: Linux 和音乐潮流-1

Apr 10, 2007

Comments

题外话: 作为一个坚定的*nix系统使用者,我常常向我周围的人推荐使用L</wbr>inux/UNIX, 而他们通常都以不熟,不好用拒绝我,即使我答应帮他们装Linux系统</wbr>。他们总认为Linux难用,可是事实不是这样的</wbr>,给发展中国家使用的一百美元笔记本(OLPC)上就是 Linux</wbr>, 世界上最眩的操作系统 MacOSX 底下也是UNIX/BSD. 有时候 Linux/UNIX 缺少的就是一些日常应用的杀手级程序。实际上杀手应用甚至决定了系统选择: Apache 让很多人再也不用 Windows 架设服务器,iPod 让美国很多人转而投身苹果。同样,我觉得我们支持Linux的人或许可以</wbr>换一个角度,举出一些 Linux 能做的强大的酷的事情</wbr>,让更多的人了解这个系统,从而爱上这个系统。其实从我的角度看</wbr>,系统不酷,而是工作效率高,不过为了吸引一些用户</wbr>,我不得不从酷的角度去说服别人。因此我准备开一个专栏</wbr>,专讲在Linux下面可以做在Windows下做不到的酷事情</wbr>,希望有人因此喜欢上 Linux. 这个专栏的文章都不长,技术都不复杂,以吸引人为主。如果你想感受Linux, 网上现有的怎么装的教程很多,也可以用LiveCD, 不过那不是我这个专栏所能讲清楚的。我的主要目的是吸引对 Linux 没感觉的人到 Linux 平台 :)

好吧,先说我抓音乐的小例子。我来到美国之后</wbr>,感觉要融入美国文化,首要的就是融入潮流文化. 于是,我开始到网上找哪些音乐电影流行,我就拿下来看</wbr>。这个当然要被很多人鄙视说俗了,现在流行的是小众小资的东西了</wbr>。不过既然俗,咱也得俗的有技术含量是吧。一开始</wbr>,我每天看Google Music Trend, 看到新的歌我就下载,然后用文本文件存我下了哪些歌。因此</wbr>,第一步,我只需要一个浏览器。然后我就发现人工管理的缺陷的</wbr>,因此我就想自动从Google Music Trend 中把我的歌生成一个列表。在这一步,我使用了我需要一个Linux 命令叫 wget, 简单的说,

wget some_url

就可以把一个网页或者资源下载到自己机器上。

好,我们先试验这个命令:

wget http://www.google.com/trends/music -O music.list<br />

-O 表示另存为后面的文件,简单吧。

然后,我们再学一个命令叫cat. cat 不是小猫,是把文件的内容输出到屏幕. cat 后面可以接多个文件,具体可以用 cat –help 看帮助。这个地方,我们用 cat filename 输出文件。`题外话: 作为一个坚定的*nix系统使用者,我常常向我周围的人推荐使用L</wbr>inux/UNIX, 而他们通常都以不熟,不好用拒绝我,即使我答应帮他们装Linux系统</wbr>。他们总认为Linux难用,可是事实不是这样的</wbr>,给发展中国家使用的一百美元笔记本(OLPC)上就是 Linux</wbr>, 世界上最眩的操作系统 MacOSX 底下也是UNIX/BSD. 有时候 Linux/UNIX 缺少的就是一些日常应用的杀手级程序。实际上杀手应用甚至决定了系统选择: Apache 让很多人再也不用 Windows 架设服务器,iPod 让美国很多人转而投身苹果。同样,我觉得我们支持Linux的人或许可以</wbr>换一个角度,举出一些 Linux 能做的强大的酷的事情</wbr>,让更多的人了解这个系统,从而爱上这个系统。其实从我的角度看</wbr>,系统不酷,而是工作效率高,不过为了吸引一些用户</wbr>,我不得不从酷的角度去说服别人。因此我准备开一个专栏</wbr>,专讲在Linux下面可以做在Windows下做不到的酷事情</wbr>,希望有人因此喜欢上 Linux. 这个专栏的文章都不长,技术都不复杂,以吸引人为主。如果你想感受Linux, 网上现有的怎么装的教程很多,也可以用LiveCD, 不过那不是我这个专栏所能讲清楚的。我的主要目的是吸引对 Linux 没感觉的人到 Linux 平台 :)

好吧,先说我抓音乐的小例子。我来到美国之后</wbr>,感觉要融入美国文化,首要的就是融入潮流文化. 于是,我开始到网上找哪些音乐电影流行,我就拿下来看</wbr>。这个当然要被很多人鄙视说俗了,现在流行的是小众小资的东西了</wbr>。不过既然俗,咱也得俗的有技术含量是吧。一开始</wbr>,我每天看Google Music Trend, 看到新的歌我就下载,然后用文本文件存我下了哪些歌。因此</wbr>,第一步,我只需要一个浏览器。然后我就发现人工管理的缺陷的</wbr>,因此我就想自动从Google Music Trend 中把我的歌生成一个列表。在这一步,我使用了我需要一个Linux 命令叫 wget, 简单的说,

wget some_url

就可以把一个网页或者资源下载到自己机器上。

好,我们先试验这个命令:

wget http://www.google.com/trends/music -O music.list<br />

-O 表示另存为后面的文件,简单吧。

然后,我们再学一个命令叫cat. cat 不是小猫,是把文件的内容输出到屏幕. cat 后面可以接多个文件,具体可以用 cat –help 看帮助。这个地方,我们用 cat filename 输出文件。`

cat music.list

怎么样,cat 输出了一个HTML的文件吧。这个HTML文件就是你的浏览器看到的. 然后你要说了,我怎么把这个html文件变成一个格式整齐的列表呢。不着急,下回我告诉你,这次先打一段天书一样的代码(这是一整行内容,注意第一行结束后有一个空格):

cat music.list |tr "\n" " "|egrep -o "song\">[^<]*" |tr ">" "\t"|cut -f 2|sort|uniq >mylist.new

好了,你就发现mylist.new 中全是格式正确的歌曲名了。这段天书怎么理解您无须担心,你可以发现原来在windows下需要copy 20次得到的文本文件一行命令就得到了。那么,学这段天书要多久呢?只要你常来看我的专栏,看三次,每次十分钟,肯定能理解。如果一生做一次,从头学这个天书效率当然不如手工,不过要是天天赶潮流,您就需要考虑用这个命令了。

好了,最后贴出一个喜欢听王小峰推荐歌曲的人要用的一个下载脚本,每次三表同学新歌上线,你轻轻一敲回车,歌曲全到你硬盘,多让人羡慕啊(当然,这个别太传,本来就是偷偷通过他的xml 发现歌曲链接的,传过了三表要发火了)。这个脚本是python 写的,但是因为windows下没有wget, 所以是Linux 专用的 :) 快用这个让美女/闺蜜/帅哥羡慕你吧

``题外话: 作为一个坚定的*nix系统使用者,我常常向我周围的人推荐使用L</wbr>inux/UNIX, 而他们通常都以不熟,不好用拒绝我,即使我答应帮他们装Linux系统</wbr>。他们总认为Linux难用,可是事实不是这样的</wbr>,给发展中国家使用的一百美元笔记本(OLPC)上就是 Linux</wbr>, 世界上最眩的操作系统 MacOSX 底下也是UNIX/BSD. 有时候 Linux/UNIX 缺少的就是一些日常应用的杀手级程序。实际上杀手应用甚至决定了系统选择: Apache 让很多人再也不用 Windows 架设服务器,iPod 让美国很多人转而投身苹果。同样,我觉得我们支持Linux的人或许可以</wbr>换一个角度,举出一些 Linux 能做的强大的酷的事情</wbr>,让更多的人了解这个系统,从而爱上这个系统。其实从我的角度看</wbr>,系统不酷,而是工作效率高,不过为了吸引一些用户</wbr>,我不得不从酷的角度去说服别人。因此我准备开一个专栏</wbr>,专讲在Linux下面可以做在Windows下做不到的酷事情</wbr>,希望有人因此喜欢上 Linux. 这个专栏的文章都不长,技术都不复杂,以吸引人为主。如果你想感受Linux, 网上现有的怎么装的教程很多,也可以用LiveCD, 不过那不是我这个专栏所能讲清楚的。我的主要目的是吸引对 Linux 没感觉的人到 Linux 平台 :)

好吧,先说我抓音乐的小例子。我来到美国之后</wbr>,感觉要融入美国文化,首要的就是融入潮流文化. 于是,我开始到网上找哪些音乐电影流行,我就拿下来看</wbr>。这个当然要被很多人鄙视说俗了,现在流行的是小众小资的东西了</wbr>。不过既然俗,咱也得俗的有技术含量是吧。一开始</wbr>,我每天看Google Music Trend, 看到新的歌我就下载,然后用文本文件存我下了哪些歌。因此</wbr>,第一步,我只需要一个浏览器。然后我就发现人工管理的缺陷的</wbr>,因此我就想自动从Google Music Trend 中把我的歌生成一个列表。在这一步,我使用了我需要一个Linux 命令叫 wget, 简单的说,

wget some_url

就可以把一个网页或者资源下载到自己机器上。

好,我们先试验这个命令:

wget http://www.google.com/trends/music -O music.list<br />

-O 表示另存为后面的文件,简单吧。

然后,我们再学一个命令叫cat. cat 不是小猫,是把文件的内容输出到屏幕. cat 后面可以接多个文件,具体可以用 cat –help 看帮助。这个地方,我们用 cat filename 输出文件。`题外话: 作为一个坚定的*nix系统使用者,我常常向我周围的人推荐使用L</wbr>inux/UNIX, 而他们通常都以不熟,不好用拒绝我,即使我答应帮他们装Linux系统</wbr>。他们总认为Linux难用,可是事实不是这样的</wbr>,给发展中国家使用的一百美元笔记本(OLPC)上就是 Linux</wbr>, 世界上最眩的操作系统 MacOSX 底下也是UNIX/BSD. 有时候 Linux/UNIX 缺少的就是一些日常应用的杀手级程序。实际上杀手应用甚至决定了系统选择: Apache 让很多人再也不用 Windows 架设服务器,iPod 让美国很多人转而投身苹果。同样,我觉得我们支持Linux的人或许可以</wbr>换一个角度,举出一些 Linux 能做的强大的酷的事情</wbr>,让更多的人了解这个系统,从而爱上这个系统。其实从我的角度看</wbr>,系统不酷,而是工作效率高,不过为了吸引一些用户</wbr>,我不得不从酷的角度去说服别人。因此我准备开一个专栏</wbr>,专讲在Linux下面可以做在Windows下做不到的酷事情</wbr>,希望有人因此喜欢上 Linux. 这个专栏的文章都不长,技术都不复杂,以吸引人为主。如果你想感受Linux, 网上现有的怎么装的教程很多,也可以用LiveCD, 不过那不是我这个专栏所能讲清楚的。我的主要目的是吸引对 Linux 没感觉的人到 Linux 平台 :)

好吧,先说我抓音乐的小例子。我来到美国之后</wbr>,感觉要融入美国文化,首要的就是融入潮流文化. 于是,我开始到网上找哪些音乐电影流行,我就拿下来看</wbr>。这个当然要被很多人鄙视说俗了,现在流行的是小众小资的东西了</wbr>。不过既然俗,咱也得俗的有技术含量是吧。一开始</wbr>,我每天看Google Music Trend, 看到新的歌我就下载,然后用文本文件存我下了哪些歌。因此</wbr>,第一步,我只需要一个浏览器。然后我就发现人工管理的缺陷的</wbr>,因此我就想自动从Google Music Trend 中把我的歌生成一个列表。在这一步,我使用了我需要一个Linux 命令叫 wget, 简单的说,

wget some_url

就可以把一个网页或者资源下载到自己机器上。

好,我们先试验这个命令:

wget http://www.google.com/trends/music -O music.list<br />

-O 表示另存为后面的文件,简单吧。

然后,我们再学一个命令叫cat. cat 不是小猫,是把文件的内容输出到屏幕. cat 后面可以接多个文件,具体可以用 cat –help 看帮助。这个地方,我们用 cat filename 输出文件。`

cat music.list

怎么样,cat 输出了一个HTML的文件吧。这个HTML文件就是你的浏览器看到的. 然后你要说了,我怎么把这个html文件变成一个格式整齐的列表呢。不着急,下回我告诉你,这次先打一段天书一样的代码(这是一整行内容,注意第一行结束后有一个空格):

cat music.list |tr "\n" " "|egrep -o "song\">[^<]*" |tr ">" "\t"|cut -f 2|sort|uniq >mylist.new

好了,你就发现mylist.new 中全是格式正确的歌曲名了。这段天书怎么理解您无须担心,你可以发现原来在windows下需要copy 20次得到的文本文件一行命令就得到了。那么,学这段天书要多久呢?只要你常来看我的专栏,看三次,每次十分钟,肯定能理解。如果一生做一次,从头学这个天书效率当然不如手工,不过要是天天赶潮流,您就需要考虑用这个命令了。

好了,最后贴出一个喜欢听王小峰推荐歌曲的人要用的一个下载脚本,每次三表同学新歌上线,你轻轻一敲回车,歌曲全到你硬盘,多让人羡慕啊(当然,这个别太传,本来就是偷偷通过他的xml 发现歌曲链接的,传过了三表要发火了)。这个脚本是python 写的,但是因为windows下没有wget, 所以是Linux 专用的 :) 快用这个让美女/闺蜜/帅哥羡慕你吧

`` print g

a="wget \""+g+"\""

os.popen(a)

注意: 最后三行是有缩进的。可以把这个存成 a.py, 然后 chmod +x a.py. 然后执行 ./a.py 具体的原理我下次讲。如果有问题,请留言。预祝你抓取所有王小峰歌曲成功。

课后作业:

  1. 练习用wget 抓一下 baidu 的500个金曲, 链接是: http://list.mp3.baidu.com/topso/mp3topsong.html

  2. 通过cat 命令研究一下baidu 的 html 和 Google 的 html. 看看哪家的让你觉得舒服. 下节课我们继续讲怎么处理这两个HTML.

下节课预告:1. 那段天书的原理是什么 2. 我怎么抓baidu 的流行榜单

过几天等有时间我还会给大家介绍优盘上的Linux, 光盘上的Linux 和最酷的Linux XGL桌面 还有给基督徒用的Linux 和给学前儿童用的Linux. 其实Linux远比一般人想像的简单而且酷。

本专栏欢迎投稿,暂无稿费。


复活节 独立日

Apr 9, 2007

Comments

今天是复活节,我正式从被封的Blogspot 搬家到自己的独立域名: http://blog.youxu.info

以后再也不要担心被封了,现在搬家很方便,那么多文章和评论,一键搞定。

我知道很多同学都是在 MSN 上看我Spaces 更新的,所以无论怎样,Spaces 还保持更新,只是不时会提醒我搬家了 :) Blogspot 已经自动指向新的地址。donews 的备份不再需要,账号我已经放弃,以后就认真经营自己的这个一亩</wbr>三分地了,也不怕被封了。

今天是复活节,也是我的 Blog 独立日。

友情提醒第一次,我的Blog 变成 http://blog.youxu.info 请更新收藏夹。原来使用RSS订阅的请检查订阅的是Feedbu</wbr>rner, 如果是Blogspot,请重新订阅, 如果是Feedburner, 无须更新,我已经重新烧过RSS.

订阅地址是:http://feeds.feedburner.com</wbr>/xumathena (RSS)