RSS 全方位接触

类别:编程语言 点击:0 评论:0 推荐:
         你可能对RSS这个名字感到既熟悉又陌生吧,熟悉的是你会在提供新闻天气股票信息的国际大网站或者国内正规的“博客”(BLOG)网站上见过它的身影,它通常都以rss0.9, rss1.0, rss2.0或者XML这样的标记示人,而陌生的是当你点击这些标记的时候,出来的不是你平常看到的图片加上文字的网页,而是一大串XML文档。那么,究竟RSS是什么东西?下面让我们对它进行全方位接触。
RSS标记 

(见图1)

RSS 简介

    RSS 是一个可用多种扩展来表示的缩写。正式的为“RDF 站点摘要(RDF Site Summary)”,但是它也可以表示为“真正简单的辛迪加(Really Simple Syndication)”、“丰富站点摘要(Rich Site Summary)”。RSS是XML技术的一种应用。RSS可以从网站中提取最新的新闻标题,新闻概要,新闻连接,网站LOGO等的信息,形成一种XML文档。它被通过网际协议交换 XML 信息(绝大多数的 RSS 交换是 RSS 文档的简单 HTTP GET),而你可以用RSS Newsreader (一种把XML文档转换成你可以阅读的文字和图片的应用程序)来阅读它。

   可能你会问:我直接在IE上键入新闻网站的网址,就可以看到最新的新闻,何必要用到RSS呢?想象一下,如果你此刻要阅读CNN,BBC ,ABC NEWS 与微软MSDN 的新闻,你可要花时间在你的网页浏览器上键入各个大网站的网址,还要花更多的时间在纷繁的网页上寻找需要的信息。或者你可能想阅读几个你欣赏的“博客”的最新文章,但是他们的文章都分别放在不同的网站上,有没有一种方法可以一次过拜读他们的大作呢?RSS的出现为你解决以上的问题。你可以在你的RSS Newsreader上键入你所看的网站的RSS feed网址(就是那个有RSS或XML标记所连接的网址哦),那么RSS Newsreader 就会把你所需要的信息一次过分门别类的展示给你看。其实RSS的出现是适应了网络信息个性化的需求,我们每天都面对着海量的信息,如果在Google里面随便输入一个关键字就会出现成千上百的网页目录,而我们需要的只是其中的几十条,那么如何在我们上网时只出现我们感兴趣的信息呢,而略去其他无用的信息?网络开发者们提出了信息个性化的概念,RSS正是其应用之一。

    而RSS的出现也为网站的管理人员与“博客们”提供了巨大的便利。他们无须再担心人们因为怕麻烦而没有关注到他们的网站,只要提供RSS feed的服务,人们就可以轻松的浏览到他们的最新信息,这更是提高浏览量的好方法。

    RSS 是 Netscape 在 1999 年创建的,它允许将许多信息源中的内容聚集到 Netcenter 门户网站中(这个门户网站现在已经不存在了)。UserLand 社区中的 Web 狂热爱好者们成为了 RSS 早期的支持者,RSS 很快就成为了一种非常流行的格式。现在你可以看到RSS有三个版本,分别是rss0.9, rss1.0与rss2.0 。他们之间的关系并非一般的版本升级,而是存在着一定的分歧。rss0.9是选用基于RDF 的方式,目的在于利用大量的 RDF 工具和模块。而rss1.0择了一种更加紧缩的方式,rss2.0为非 RDF 变体的一个新版本。而现在世界最大的BLOG网站,Google旗下的Bloger.com应用的又是另外一种格式称作Atom。尽管现在RSS存在多种多样的版本,RSS 还是目前为止最为成功的 XML 服务之一,其已经成为了通过 Web 站点交换内容信息的社区标准。现在,许许多多的国际门户网站,“博客”网站都在使用它。Blogging 社区是 RSS 的主要用户。


RSS 的样子
下面我们来看一下RSS的真面目吧。(以RSS1.0为例)

------------------------------------------------------------
<?xml version="1.0" ?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22rdfsyntaxns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:admin="http://webns.net/mvcb/"
xmlns="http://purl.org/rss/1.0/">
------------------------------------------------------------

首先声明这是XML文件,还有他的命名空间。其实,这段基本一样的。
接下来就是RSS的正文咯。大家知道XML是讲究层次结构的,RSS也一样。它有4大段:channel, image, item, and text input ,其中 channel,  item,是必须的,其他可选。
Channel (频道) 元素包含了描述这个RSS的几个要数:<title> <link> <description> <creator> <language> 等等

------------------------------------------------------------
<channel>

<title> GWZone News </title>

<link>http://www.gwzone.com </link>

<description>广外在线新闻</description>

<language>GB2312</language>

</channel>
------------------------------------------------------------

Image(图象)元素为可选的元素。主要是用于定义网站的LOGO。以下定义的是一个叫news Loge的网站标志,其为88*31大小的地址为http://news.gdufs.edu.cn/images/logo.gif 的图片,当单击图片时会到http://news.gdufs.edu.cn 的连接。

-------------------------------------------------------------
<image>

<title>news Logo</title>

<url>http://secwww.gdufs.edu.cn/gwzone/images/logo,gif </url>

<link>http://www.gwzone.com <link>

<width>88</width>

<height>31</height>

</image> 
--------------------------------------------------------------
  
   Item (项目) 元素是RSS的重要组成部分。他是整个RSS文档中经常变动的部分。如果RSS提供的是新闻信息,Item元素包含的就是新闻的内容,可以包括新闻标题,连接,简要的概述,作者,更新时间等等;同样,如果RSS提供的是“博客”的最新文章,那么Item包含的就是文章的标题,连接,简介,时间等等。

---------------------------------------------------------------
<item>
    
<title>Java2 in Navigator 5?</title>

<link>http://www.mozillazine.org/talkback.html?article=607</link>

<description>Will Java2 be an integrated part of Navigator 5?
      Read more about it in this discussion...</description>

</item>
---------------------------------------------------------------

Text Input(文字输入)元素会显示为HTML的表单,可作为读者反馈意见,订阅邮件,搜索的输入。

----------------------------------------------------------------
<textinput>
    
<title>Send</title>

<description>Comments about MozillaZine?</description>

<name>responseText</name>

<link>http://news.gdufs.edu.cn/comment.asp</link>

</textinput>
-----------------------------------------------------------------

接下来,不要忘记还要写上
-----------------------------------------------------------------
</rdf:RDF>
-----------------------------------------------------------------

    哈哈,一个RSS文档是否很简单?你可以随便用你喜欢的记事本,Editplus,或者xml editor来编写RSS文档。但是每次网站更新都要重写一次RSS会很麻烦,没问题,你还可以用Java, PHP, Perl 和asp等 来动态生成RSS哦。在一份RSS文档中可以发现 channel ,image 和text imput 都是不变的,只有Item 一项是需要动态更新的。至于如何用编程语言动态生成RSS,这里就不多介绍了。


如何阅读RSS
    上面说过,阅读RSS用RSS Newsreader (一种把XML文档转换成你可以阅读的文字和图片的应用程序)。如果你在Google 上键入RSS Newsreader 几个关键字,一定会找到许多的软件。不过不少的RSS Newsreader 对中文的支持并不好,阅读中文的RSS时会出现乱码。下面我想介绍FEEDDEMO这款阅读器,其界面简洁,使用方便,还有多种语言可选择哦。
安装这款软件也十分简单。其需要2.27MB的硬盘空间。
其试用版的官方下载地址是http://www.bradsoft.com/download/

(见图2)

    只要一直按“next”,就可以完成安装。安装完毕后会出现欢迎页面,这时要选择所用的语言,一般都选择simple Chinese啦。接下来就是使用说明,仔细阅读会很快掌握它的用法。下面就是FEEDDEMO的界面了。

(见图3)

    按照默认安装的话,里面已经有News ,Healthy,Spotrs,Entertaments,Software等好几个类别,包括ABC News,BBC News,NewYork Times,Yahoo News等几十个RSS频道。增加新的频道很简单,只要点击“新增频道”,就会出现“新频道”对话框。

(见图4)

    选择“我将会输入这个newsfeed的网址”,接着输入提供RSS Feed 服务的网址(就是那个有RSS或XML标记所连接的网址哦),这里我输入的是广外在线新闻的RSS服务:http://secwww.gdufs.edu.cn/gwzone/news/rss.asp  ,并确认自动发掘并验证newsfeed的选项被选中,不出意外,广外在线的新闻RSS 服务就会添加到FEEDDEMO中。
   
    还记得这里的频道标题吗?就是RSS文档里channel元素中的title啊。在选择把广外在线新闻添加到哪个频道群组后就大功告成啦

    下面再介绍一下几个较好的RSS Newsfeed 的地址吧:
http://msdn.microsoft.com/rss.xml 微软的MSDN新闻
http://www.blueidea.com/tech/rss.xml 蓝色理想的技术文档更新
http://www.blogcn.com/user_rss.asp  Blogcn.com 上所有“博客”的文章更新
 
    说到这里,从什么是RSS,RSS是什么到如何阅读RSS,你应该对RSS有一个初步的整体了解了。现在是否有一种冲动立刻去阅读各大网站的RSS新闻,或者想自己动手写RSS,为自己的网站增添色彩呢?那是色彩缤纷的新世界哦。

本文地址:http://com.8s8s.com/it/it26486.htm