跳至主要内容

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

随着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:


图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构建的个人新闻聚合主页存在了,比较著名的如国内车东先生的主页:http://www.chedong.com 。相信随着Lilina程序的不断完善,一定会给大家带来更加完善和满意的聚合功能。

评论

此博客中的热门博文

How to Design a Store Front Sign

In this Article we will talk about designing a store front for a business. What color or size should your Letters & designs be? What to put on your sign and why?, then be ready to Get in touch with sign people and get your best deal. Large lettering with out a front sign could save you time and money Do your products have a special shape or color to emulate on your sign? Kodak is always in yellow and black, Coca-Cola white on red, Etc. Muffler places, have a sign in the shape of a muffler. your phone number on the store front some place, but not on the identification sign, (door, or window) Your Product & logos can be arranged on the front sign, or window. Not on the Pole sign, Store hours & phone number could fit in your design and by using the product color, it could add product recognition & enhance your design. Suppliers may provide plenty of advert...

How to Make Money from Home Posting Links With No Out of Pocket Expense

Many people are earning money working from home just posting links on a blog, a website, or on well organized Social network marketing website. Anyone can earn substantial income by knowing what to do, where to do it, and how to do it. This article is designed around the Know How concepts to help people without that knowledge to set up their Blogs or Websites to achieve goal. Money is a medium of exchange that brings financial success TRAFFIC EXCHANGE ACCOUNT Log into your website or blog account and place the adsense code into the html document. Then save your document. Upload you website or blog to the internet following any instruction you received from your webmaster. Remember that your webmaster host your website or blog absolutely free. You must publish your site or blog for changes to take place. You now need free traffic resources to advertise and promote your new blog...

找到一个可以替代ghs.google.com的地址

用Goole Blogger的自定义域名功能需要用到 ghs.google.com 做CNAME,或者用ping ghs.google.com 得出的IP做一个A记录.但是,伟大的GFW已经把 ghs.google.com 和部分IP屏蔽在大陆之外.这样的壮举使得我们的自定义域名不能正常访问,或者让你的网页背景.图片被滤掉,精心做成的模板变得惨白不堪. 那么,我们可不可以找一个替代 ghs.google.com 的地址呢?当然能.因为Google是强大的.它有许多有用的IP地址让你去探寻. 对 ghs.google.com 分析研究后发现, ghs.google.com 这台服务器并没有提供实质性的服务,而只是选择访问者访问最快的服务器(Google全球性公司,很多地区都有服务器).我们只要找到其他服务器的IP地址,并且这个IP地址没被屏蔽,那么就成了. 寻找这样的IP地址需要用到tracert命令.即在CMD模式下输入:tracert ghs.google.com ,在已经屏蔽的当下,最后自然得不出结果,这就需要我们使用代理了.使用不同地区的代理运行tracert ghs.google.com 命令. tracert ghs.google.com 的最后一跳会有类似这样的域名: eh-in-f121.google.com 如果在不用代理的情况下,你能ping通这个域名,那么恭喜你,你找到了!现在就可以用这个域名代替 ghs.google.com 设置你的CNAME了,ping出的IP地址可以做A记录,CNAME和A记录,只做其中之一就可以. hs-in-f121.google.com 64.233.179.121 eh-in-f121.google.com 72.14.207.121 bx-in-f121.google.com 66.249.81.121 ik-in-f121.google.com 66.249.91.121 这4个在我所在地区不能使用,而可以使用 tw-in-f121.google.com 72.14.235.121 或者209.85.171.121也可用 下面是一些不断更新的:74.125.43.121 除了使用代理来寻找,也可以通过一些网站提供的功能来寻找这个地址,很方便,就是使用网站提供的Traceroute.这些网站有: h...