Chinaunix首页 | 论坛 | 博客
  • 博客访问: 14433908
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 20:32:57

下载本文示例代码
  随着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的官方主页是: ,当前的最新版本是0.7。从网站上下载到源程序包lilina-0.7.tar.gz后,在本地解压,并提交到web服务器的文件夹下,这里我们假设所使用的web服务器的地址为: ,提交的文件夹名为lilina。这里需要注意的是,一定要保证lilina目录下的.myfeeds.data和cache目录是具有可写属性的。  配置  提交完lilina目录后,我们需要对lilina进行配置,配置文件为lilina目录下的conf.php,其内容一般如下,我们一般只需要修改最上面的几行即可: <? $BASEURL = ’/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关键字. 详细信息可以访问  /*  这里是对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新闻聚合了,首先我们打开/lilina/edit.php ,这时我们可以看到如下的页面图1: 图1  填写好配置文件中设置的用户名和密码之后,进入到管理页面,就可以任意添加自己喜欢的RSS源了,如图2所示。第一行文本框用来添加RSS源的地址,第二行文本框可以用来导入OPML文件(格式化的XML文件,用来记录RSS源的一个XML集合文件),已经添加的RSS地址在页面上都会在添加后显示出来。 图2  经过添加操作之后,我们就可以打开Lilina的主页面来欣赏我们自己定制的新闻频道了,如图3所示。 图3  最上面一行的链接,24h、48h、week和all分别可以代表选择不同时间段的新闻内容,expand表示同时显示标题和新闻简介,collapse表示收起所有的新闻简介,只显示标题。图3的页面上显示了2005年6月24日笔者的新闻聚合内容,红色字体显示的是标题,灰色字体表示新闻的来源,页面的右边为RSS源的总体介绍和图标。点击页面上的红色字体可以打开新闻简介,如图4所示。如果你对这条新闻感兴趣,只要点击红色字体后面紧跟着的灰色新闻来源,即可链接到这条新闻的真正页面上,详细了解新闻信息。 图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所示: 图5  结束语  通过以上的介绍,一个基于Lilina的个人新闻聚合页面就建立起来了,我们完全可以对它进行扩充,把它作为个人主页的一个部分展示出来。目前网络上已经有使用Lilina构建的个人新闻聚合主页存在了,比较著名的如国内车东先生的主页: 。相信随着Lilina程序的不断完善,一定会给大家带来更加完善和满意的聚合功能。   随着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的官方主页是: ,当前的最新版本是0.7。从网站上下载到源程序包lilina-0.7.tar.gz后,在本地解压,并提交到web服务器的文件夹下,这里我们假设所使用的web服务器的地址为: ,提交的文件夹名为lilina。这里需要注意的是,一定要保证lilina目录下的.myfeeds.data和cache目录是具有可写属性的。  配置  提交完lilina目录后,我们需要对lilina进行配置,配置文件为lilina目录下的conf.php,其内容一般如下,我们一般只需要修改最上面的几行即可: <? $BASEURL = ’/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关键字. 详细信息可以访问  /*  这里是对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新闻聚合了,首先我们打开/lilina/edit.php ,这时我们可以看到如下的页面图1: 图1  填写好配置文件中设置的用户名和密码之后,进入到管理页面,就可以任意添加自己喜欢的RSS源了,如图2所示。第一行文本框用来添加RSS源的地址,第二行文本框可以用来导入OPML文件(格式化的XML文件,用来记录RSS源的一个XML集合文件),已经添加的RSS地址在页面上都会在添加后显示出来。 图2  经过添加操作之后,我们就可以打开Lilina的主页面来欣赏我们自己定制的新闻频道了,如图3所示。 图3  最上面一行的链接,24h、48h、week和all分别可以代表选择不同时间段的新闻内容,expand表示同时显示标题和新闻简介,collapse表示收起所有的新闻简介,只显示标题。图3的页面上显示了2005年6月24日笔者的新闻聚合内容,红色字体显示的是标题,灰色字体表示新闻的来源,页面的右边为RSS源的总体介绍和图标。点击页面上的红色字体可以打开新闻简介,如图4所示。如果你对这条新闻感兴趣,只要点击红色字体后面紧跟着的灰色新闻来源,即可链接到这条新闻的真正页面上,详细了解新闻信息。 图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所示: 图5  结束语  通过以上的介绍,一个基于Lilina的个人新闻聚合页面就建立起来了,我们完全可以对它进行扩充,把它作为个人主页的一个部分展示出来。目前网络上已经有使用Lilina构建的个人新闻聚合主页存在了,比较著名的如国内车东先生的主页: 。相信随着Lilina程序的不断完善,一定会给大家带来更加完善和满意的聚合功能。 下载本文示例代码


使用开源软件Lilina构建RSS聚合器使用开源软件Lilina构建RSS聚合器使用开源软件Lilina构建RSS聚合器使用开源软件Lilina构建RSS聚合器使用开源软件Lilina构建RSS聚合器使用开源软件Lilina构建RSS聚合器使用开源软件Lilina构建RSS聚合器使用开源软件Lilina构建RSS聚合器使用开源软件Lilina构建RSS聚合器使用开源软件Lilina构建RSS聚合器使用开源软件Lilina构建RSS聚合器使用开源软件Lilina构建RSS聚合器使用开源软件Lilina构建RSS聚合器使用开源软件Lilina构建RSS聚合器使用开源软件Lilina构建RSS聚合器
阅读(151) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~