为了提高sagunman的处理XML的能力,今天专门测试了几个XML的解析类。
以前SaGunman用的是magpierss,这段时间的测试中发现有些采集点的聚合分析不够全面。以至于漏掉不少文章。后来搜索了一下,另外两个XML解析类引起我的注意。
lastrss很小巧,本着实用和小巧的原则,我首先试用了lastRSS,速度非常快。但是测试中发现,lastRSS还是存在和MagpieRSS一样的问题。有些分析不出来。也漏采了一些文章。
不得已测试了一下simplepie这个大块头,光核心文件就是300多K,还不算其他小文件,我首先想到的就是有精简的余地,但是不管这么多。先测试一下能力,这个大块头果然没有让我失望,采集了很多格式的RSS和ATOM,都能完整的抓取而且分析出来。稳定性非常让人满意。可是我发现SimplePie的效率并不是让我很满意,光include这个文件就要花掉不少时间。毕竟SimplePie的文件加起来有将近500K了,而且输出,还产生了很多对我来说无用的数组。大大增加了处理时间,不出我所料,缓存文件也相当巨大。一个缓存文件居然有将近600K。后来上网查了一下资料。发现SimplePie的优点就是处理XML相当强,但是效率是这次测试当中最慢的一个。
后来想想,现在的硬件已经相当快了,lastRSS也比SimplePie快不到1秒,就没有必要去追求速度了。毕竟SaGunman这种全自动的聚合采集系统,稳定、准确才是最重要的。况且国外的服务器性能优越不说,带宽都相当充足。还是用SimplePie吧,不管怎么说还是先测试一段时间看看。

