领先的中文IT技术网站    IT技术从现在起飞

飞诺旗下: 技术社区 | 在线电子书 | 在线试题 | 资源下载 | 飞诺搜索 | 技术博客
用户名: 密   码:
   飞诺网 加入收藏
飞诺网 php 新闻频道 开发频道 系统频道 服务器 网络频道 网络安全 Java频道 C/C++ PHP开发 电子书 资源下载 社 区 博 客 在线试题
网站开发 VBScript ASP Asp.net Jsp php XML CGI-Perl 搜索引擎 ajax
编程开发 JAVA C/C++ C++ VC C语言 VB C# Delphi Foxpro 汇编 shell编程 游戏开发 软件工程师 WEB开发 PHP ASP Asp.net JSP AJAX CGI JavaScript HTML CSS 数据库 MSSQL Mysql Oracle Access Sybase DB2 sql2005 Office Word Excel Powerpoint Wps 认证考试 二级C语言 三级网络 程序员 网络工程师 思科认证

您当前的位置:飞诺网 >> php >> PHP实例教程

使用开源软件Lilina构建RSS聚合器

www.firnow.com    时间 : 2007-02-05  作者:佚名   编辑:本站 点击:   [ 评论 ]

     随着Blog和Wiki在互联网上的蓬勃发展,RSS作为使用XML描述和同步网站内容的格式,正在逐渐的被人们所熟知。国内外的一些著名媒体网站如BBC、百度、新浪等也都推出了基于RSS技术的新闻聚合服务,网友们可以根据自己的需要选择自己喜欢的新闻资讯频道,使用RSS聚合器(Aggregator)进行阅读获取最新的文章消息。一般来说,RSS聚合器分为3种:第一种是桌面型的RSS聚合器,如国外的FreeDemon和国内的看天下阅读器和周博通阅读器等;第二种是网上运营商所提供的RSS新闻聚合页面服务,比较著名的有del.icio.us和天天网摘等;最后一种就是用户自己管理的在线RSS聚合器,这种聚合器也是基于Web方式管理和使用的,但要求使用的用户拥有Web服务器并安装PHP及MySQL等,下面我们要介绍的就是基于PHP建立的一个新闻聚合程序Lilina。
  
    介绍
  
    Lilina是采用PHP语言编写的开放源码的RSS新闻聚合器,虽然简单,但是功能还是比较强大,使用起来也比较上手。它无需使用MySQL等数据库的支持,而是基于文本方式进行存储,所有得到的信息均存储到cache目录下进行解析使用web页面进行显示。RSS的解析采用非常优秀的MagpieRSS库进行处理,而且Lilina本身内部就包含了MagpieRSS库,无须另外安装。它具有自动发现(Auto-Discovery)的特性,使用接口比较简单。
  
    安装
  
    Linina的官方主页是:http://lilina.sourceforget.net ,当前的最新版本是0.7。从网站上下载到源程序包lilina-0.7.tar.gz后,在本地解压,并提交到web服务器的文件夹下,这里我们假设所使用的web服务器的地址为:http://www.myweb.com ,提交的文件夹名为lilina。这里需要注意的是,一定要保证lilina目录下的.myfeeds.data和cache目录是具有可写属性的。
  
    配置
  
    提交完lilina目录后,我们需要对lilina进行配置,配置文件为lilina目录下的conf.php,其内容一般如下,我们一般只需要修改最上面的几行即可:
  
  <?
   $BASEURL = ’http://www.myweb.com/lilina’ ; // lilina目录的web地址
   $USERNAME = ’user’ ; // 管理员名
   $PASSWORD = ’pass’ ; // 管理员密码
   $SITETITLE = "My lilina news aggregator" ; // lilina页面标题
   $OWNERNAME = "user" ; //用户名
   $OWNEREMAIL = "admin@myweb.com" ; //管理邮件
   $DATAFILE = ’./.myfeeds.data’ ; //数据文件
   $TIMEFILE = ’./.time.data’ ; //时间文件
   $GOOGLE_KEY = ’’ ; // 使用google API关键字. 详细信息可以访问 http://www.google.com/apis/
  
   /*
   这里是对del.icio.us进行的操作,一般最好无须配置,作者给出了原因如下:
   IMPORTANT NOTE! Setting ENABLE_DELICIOUS to 1 will make lilina poll del.icio.us for tags.
   THIS MAY RESULT TO DEL.ICIO.US BANNING YOUR IP!!!
   Until del.icio.us officially allows such use, it is better to leave this to 0.
   */
  
    $ENABLE_DELICIOUS = 0 ;
  
   /*
    缓存失效时间,默认为1个小时,可以根据需要进行修改,单位为秒。
    可以通过强制调用 index.php?force_update=1 的办法进行强制失效处理
   */
  
   define(’MAGPIE_CACHE_AGE’,60 * 60*1);
  ?>
  
    使用
  
    经过以上的配置,就可以开始使用Lilina来做RSS新闻聚合了,首先我们打开http://www.myweb.com/lilina/edit.php ,这时我们可以看到如下的页面图1:
  
  
  
  填写好配置文件中设置的用户名和密码之后,进入到管理页面,就可以任意添加自己喜欢的RSS源了,如图2所示。第一行文本框用来添加RSS源的地址,第二行文本框可以用来导入OPML文件(格式化的XML文件,用来记录RSS源的一个XML集合文件),已经添加的RSS地址在页面上都会在添加后显示出来。
  
  
  经过添加操作之后,我们就可以打开Lilina的主页面来欣赏我们自己定制的新闻频道了,如图3所示。
  
   最上面一行的链接,24h、48h、week和all分别可以代表选择不同时间段的新闻内容,expand表示同时显示标题和新闻简介,collapse表示收起所有的新闻简介,只显示标题。图3的页面上显示了2005年6月24日笔者的新闻聚合内容,红色字体显示的是标题,灰色字体表示新闻的来源,页面的右边为RSS源的总体介绍和图标。点击页面上的红色字体可以打开新闻简介,如图4所示。如果你对这条新闻感兴趣,只要点击红色字体后面紧跟着的灰色新闻来源,即可链接到这条新闻的真正页面上,详细了解新闻信息。
  
  
  
    当然,也许你认为这样的页面不是很好看,如果你了解CSS样式表的话,你也可以参考lilina里的style.css的模版编辑自己的样式表,并修改lilina目录下的index.php文件中的如下行所示:
  
  <title><?=$SITETITLE?></title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  /* 修改href后的内容为自己定义的样式表格式 */
  <link rel="stylesheet" type="text/css" href="style.css" media="screen"/>
  <link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
  
  
    这里可以展示Lilina提供的另外一个页面样式,如图5所示:
  
  结束语
  
    通过以上的介绍,一个基于Lilina的个人新闻聚合页面就建立起来了,我们完全可以对它进行扩充,把它作为个人主页的一个部分展示出来。目前网络上已经有使用Lilina构建的个人新闻聚合主页存在了,比较著名的如国内车东先生的主页:http://www.chedong.com 。相信随着Lilina程序的不断完善,一定会给大家带来更加完善和满意的聚合功能。  
如果图片或页面不能正常显示请点击这里
PHP实例教程推荐文章

文章评论