WEB开发网
开发学院软件开发Python 用于 Python 的 RSS 阅读

用于 Python 的 RSS

 2007-03-29 12:39:01 来源:WEB开发网   
核心提示: [ 由于 RSS 使用了 XML 描述而没有使用 WSDL,所以我们将 RSS 作为一个“XML 服务”而不是一个“Web 服务”对待,用于 Python 的 RSS(2),- 编者按 ]RSS.pyMark Nottingham 编写的 R

[ 由于 RSS 使用了 XML 描述而没有使用 WSDL,所以我们将 RSS 作为一个“XML 服务”而不是一个“Web 服务”对待。- 编者按 ]

RSS.py

Mark Nottingham 编写的 RSS.py 是用于 RSS 处理的一个 Python 库。它非常完善并且编写的很好。它需要 Python 2.2 和 PyXML 0.7.1。它的安装是非常简单;您只需从 Mark 的主页中下载 Python 文件并将它复制到您的 PYTHONPATH 中的某处。

大多数 RSS.py 的用户本身只需要关心它所提供的两个类: CollectionChannel 和 TrackingChannel 。后者似乎是这两个类中更有用的一个。 TrackingChannel 是一个包含以每一项的关键字为索引的所有的 RSS 数据的数据结构。 CollectionChannel 是一个类似的数据结构,但它的结构更像 RSS 文档本身,它的顶层通道信息使用 URL 表示的散列值指向项细节。您很可能会使用 RSS.ns 结构中的实用程序名称空间声明。 清单 1是一个简单的脚本,它将下载并解析用于 Python 新闻的 RSS 供给,并以一个简单的清单形式打印来自各项的所有信息。

清单 1:使用 RSS.py 的一个简单练习from RSS import ns, CollectionChannel, TrackingChannel
#Create a tracking channel, which is a data structure that
#Indexes RSS data by item URL
tc = TrackingChannel()
#Returns the RSSParser instance used, which can usually be ignored
tc.parse("http://www.python.org/channews.rdf")
RSS10_TITLE = (ns.rss10, 'title')
RSS10_DESC = (ns.rss10, 'description')
#You can also use tc.keys()
items = tc.listItems()
for item in items:
  #Each item is a (url, order_index) tuple
  url = item[0]
  print "RSS Item:", url
  #Get all the data for the item as a Python dictionary
  item_data = tc.getItem(item)
  print "Title:", item_data.get(RSS10_TITLE, "(none)")
  print "Description:", item_data.get(RSS10_DESC, "(none)")

上一页  1 2 3 4 5  下一页

Tags:用于 Python RSS

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接