最近搜集RSS解析工具中找到了MagPieRSS 和基于其设计的Lilina;Lilina的主要功能: 1 基于WEB界面的RSS管理:添加,删除,OPML导出,RSS后台缓存机制(避免对数据源服务器产生过大压力),ScriptLet: 类似于Del.icio.us it的收藏夹即时订阅JS脚本; 2 前台发布:将自己的首页改成了用Lilina发布我常看的几个朋友的网志,也省去了很多更新自己网页的工作,需要php 4.3 + mbstring iconv 记得年初Wen Xin在CNBlog的研讨会上介绍了个人门户的概念,随着RSS在CMS技术中的成熟,越来越多的服务可以让个人用户根据自己需求构建门户,也算是符合了互联网的非中心化趋势吧,比如利用Add to My Yahoo!功能,用户可以轻松的实现自己从更多数据源进行新闻订阅。想象一下把你自己的del.icio.us书签收藏 / flickr图片收藏 / Yahoo!新闻都通过这样一个RSS聚合器聚合/发布起来。其传播效率将有多快。 好比软件开发通过中间平台/虚拟机实现:一次写成,随处运行(Write once, run anywhere),通过RSS/XML这个中间层,信息发布也实现了:一次写成,随处发布(Write once, publish anywhere...) 安装Lilina需要PHP 4.3 以上,并带有iconv mbstring等函数的支持,请确认一下PHP模块的支持:‘--enable-mbstring‘ ‘--with-iconv‘ 另外就是一个需要能通过服务器端向外部服务器发送RPC请求,这点51.NET不支持。感觉PowWeb的服务很不错,很多缺省的包都安装好了: iconv Directive Local Value Master Value mbstring 将安装包解包(下载文件扩展名是.gz 其实是.tgz,需要重命名一下):上传到服务器相应目录下,注意:相应cache目录和当前目录的可写入属性设置,然后配置一下conf.php中的参数即可开始使用。 何东给我的建议: 一些改进计划: " 实现; 修改默认显示实现:Lilina缺省显示最近1天发表的文章,如果需要改成其他时间周期可以找到: 进行改动。 RSS是一个能将自己的所有资源:WIKI / BLOG / 邮件聚合起来的轻量级协议,以后无论你在何处书写,只要有RSS接口就都可以通过一定方式进行再次的汇聚和发布起来,从而大大提高了个人知识管理和发布/传播效率。 以前对RSS理解非常浅:不就是一个DTD嘛,真了解起解析器来,才知道namespace的重要性,一个好的协议也应该是这样的:并非没有什么可加的,但肯定是没有什么可“减”的了,而真的要做到这个其实很难很难……。 我会再尝试一下JAVA的相关解析器,将其扩展到WebLucene项目中,更多Java相关Open Source RSS解析器资源。 另外找到的2个使用Perl进行RSS解析的包: XML::RSS::Parser::Lite的代码样例如下: #!/usr/bin/perl -w use strict;
# print blog header # convert item to <li> 安装: 优点: 缺点: 计划用于简单的抓取RSS同步服务设计:每个人都可以出版自己订阅的RSS。
use strict;
# output some values 优点: 缺点: 2004-12-14: Planet的安装:解包后,直接在目录下运行:python planet.py examples/config.ini 就可以在output目录中看到缺省样例FEED中的输出了index.html,另外还有opml.xml和rss.xml等输出(这点比较好) 我用几个RSS试了一下,UTF-8的没有问题,但是GBK的全部都乱码了,planetlib.py中和XML字符集处理的只有以下代码:看来所有的非UTF-8都被当作iso8859_1处理了: 近期学习一下Python的unicode处理,感觉是一个很简洁的语言,有比较好的try ... catch 机制和logging 关于MagPieRSS性能问题的疑虑: 可以看到:Lilina的缓存机制是每次请求的时候遍历缓存目录下的RSS文件,如果缓存文件过期,还要动态向RSS数据源进行请求。因此不能支持后台太多的RSS订阅和前端大量的并发访问(会造成很多的I/O操作)。 Planet是一个后台脚本,通过脚本将订阅的RSS定期汇聚成一个文件输出成静态文件。 其实只要在MagPieRSS前端增加一个wget脚本定期将index.php的数据输出成index.html,然后要求每次访问先访问index.html缓存,这样不就和Planet的每小时生成index.html静态缓存一样了吗。 所以在不允许自己配置服务器脚本的虚拟主机来说Planet根本是无法运行的。 更多关于PHP中处理GBK的XML解析问题请参考: 2004-12-19 Posted by chedong at December 11, 2004 12:34 AM Edit |
|