08/23/06。 cathayan.org版权所有,保留一切权利。转载请保留此说明。谢绝商业转载。
前些天
Google BlogoScoped做了这个研究,他(们)的方面是向
Gnews发出“半随机”的关键词查询,从结果中提取这些信息来源网站。最后,从140万条消息中提取到8600多个独立的网站(同一网站下面的各个频道算是一个)。当时看到后也想看看中文这边都选用了哪些信源。
这两天终于把程序凑出来了,用的perl,突破了我写Perl程序的极限,用Vim的“=”排版后达到了130行 :P
我刚开始想到的就是从RSS中提取,这个是XML,处理起来容易,又不用找半随机的关键词,也不用向Google查询(这个得用API,还是直接用http?)。其实写的过程中发现GNews的RSS里也是大段的HTML,处理起来不比查询结果容易,甚至更乱些。
本来想写好后放到网站这里,这里没有shell,但有个CPanel,里面有一项cron,以为它能行,刚才试了半天根本没反应,也看不到任何系统信息。只好在自己机器上运行了几次,使用了头条/商业/科技/体育/娱乐这5个源,不排除频道,抓到了600多个来源地址。
麻烦是刚运行了5次,就遇到了两次reset,还有一次太心急,可能间隔时间太短,被Google踢出来一次。本来如果有Cron,并且是在外面的话,设个10分钟或半小时一次,运行几天,应该就抓得差不多了,可惜暂时没这个条件了。刚才发现最容易被reset的是头条,还有健康,商业也有可能,体育也一样。最好的是科技,这两天凑代码时都用的是它。像国内际什么的根本没敢试。本来我还有个外面的免费的Shell账号,可惜那里不允许访问web,perl模块装得也少(这个好像可以装在用户目录下?)今后也许随手运行一下,可以湊出个列表来。
不过也算是又学了点Perl,包括正则表达式、编码的知识,几个Perl模块像xml-Simple,user-agent,html-tokeparser等。
[update]真是非常郁闷,在用户目录下装CPAN模块装不上,好像不认PERL5LIB;早上在本机运行居然reset在科技上,真想把那邦人抓出来tjjtds。
谁有条件可以玩玩吧,
程序在这里下载,就一个文件,运行后会在目录下写一个文件links.txt,Utf8的。水平比较烂,看到代码不要笑我 :mrgreen: 如果能把结果再传回来,就更好了。程序还有很多问题,有时候抓网站名时会抓到文章标题 :P 。
08/23/06 22:26:07,由
cathayan发表。目录:
电脑
5条评论
I am watching and will delete all spam.