浅谈Python RSS处理问题

开发 后端
Python RSS是目前为止最为成功的 XML 服务之一,尽管他的开源史比较复杂,但是已经成为Web 站点交换内容信息的社区标准了。

Python应用程序作为一个很好的 RSS 处理工具,下面文章进行介绍了一些可用于 RSS 处理的模块,大多数Python RSS处理.py 的用户本身只需要关心它所提供的两个类。

RSS 是一个可用多种扩展来表示的缩写:“RDF 站点摘要(RDF Site Summary)”、“真正简单的辛迪加(Really Simple Syndication)”、“丰富站点摘要(Rich Site Summary)”。也许还能用其他扩展来表示。在如此混乱的名称背后,您会发现和这样一个平凡的技术领域相关的故事多得令人吃惊。

Python RSS处理是用于分发 Web 站点上的内容的摘要的一种简单的 XML 格式。它能够用于共享各种各样的信息,包括(但不是仅限于)简讯、Web 站点更新、事件日历、软件更新、特色内容集合和基于 Web 进行拍卖的商品。RSS 是 Netscape 在 1999 年创建的,它允许将许多信息源中的内容聚集到 Netcenter 门户网站中(这个门户网站现在已经不存在了)。

UserLand 社区中的 Web 狂热爱好者们成为了 RSS 早期的支持者,RSS 很快就成为了一种非常流行的格式。这种流行使得人们很难对 RSS 进行改进从而使它能用于更多的地方。这种限制导致了 RSS 的发展出现了分歧。

其中一个组选择了一种基于 RDF 的方式,目的在于利用大量的 RDF 工具和模块,而另一个组则选择了一种更加紧缩的方式。前者被称之为 RSS 1.0,而后者则被称之为 RSS 0.91。就在上个月由于 RSS 非 RDF 变体的一个新版本的出现使得两者之间的竞争进一步加剧。

这一新版本被它的创造者称之为“RSS 2.0”。RSS 0.91 和 1.0 非常流行,并且许许多多的门户网站和 Web 日志都使用它们。事实上,blogging 社区是 RSS 的主要用户,而 Python RSS处理就是某些现有的用于 XML 交换的网络令人印象深刻的理由。

这些网络已在有机地增长,并且真正地成为现有的最成功的 XML 服务的网络。RSS 成为一种 XML 服务是因为它被通过网际协议交换 XML 信息(绝大多数的 RSS 交换是 RSS 文档的简单 HTTP GET)。

在本文中,我们介绍的不过是许多可以与 RSS 一起工作的 Python 工具中的少数几个。我们不提供针对 RSS 的技术上的介绍。因为您可以在其他许多的文章中获得这些内容。(请参阅参考资料)。我们推荐您首先简单地熟悉一下 RSS 知识,并且能了解 XML。您不需要去了解 RDF。

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

大多数Python RSS处理.py 的用户本身只需要关心它所提供的两个类:CollectionChannel 和 TrackingChannel。后者似乎是这两个类中更有用的一个。TrackingChannel 是一个包含以每一项的关键字为索引的所有的 RSS 数据的数据结构。

CollectionChannel 是一个类似的数据结构,但它的结构更像 RSS 文档本身,它的顶层通道信息使用 URL 表示的散列值指向项细节。您很可能会使用 RSS.ns 结构中的实用程序名称空间声明。清单 1 是一个简单的脚本,它将下载并解析用于 Python 新闻的 RSS 供给,并以一个简单的清单形式打印来自各项的所有信息。

【编辑推荐】

  1. 漫谈Python 源代码编制技巧
  2. 简单易于操作的Python 工具详解
  3. 有关Python应用领域进行说明介绍
  4. PythonAndroid面向对象的编程——Python应用程序
  5. 如何使用Python模块解析配置文件 ?
责任编辑:chenqingxiang 来源: IT168
相关推荐

2010-02-23 17:23:26

Python异常处理

2014-02-19 09:51:29

iOS开发时间处理

2010-05-17 14:59:05

MySQL事务处理

2016-11-14 10:06:04

大数据max位图

2018-09-18 23:32:35

物联网污水处理IOT

2010-01-12 17:26:37

C++编译器

2022-04-24 16:29:28

千年虫时间计算机系统

2022-05-12 23:38:19

SQL数据库字符串

2021-03-10 18:26:49

Tensorflow语音识别音频处理

2010-02-26 14:14:23

Python RSS文

2010-02-26 13:56:08

Python RSS

2017-08-28 15:21:29

异步处理回调函数异步编程

2011-07-05 10:20:38

java

2010-09-29 14:56:53

2018-03-22 11:00:45

PythonRSS

2010-03-02 10:08:28

Android源代码

2010-09-29 15:55:22

DHCP IP相同

2009-06-10 17:11:01

linux netbe反锯齿处理

2009-07-15 16:29:41

Swing绘画

2009-11-05 15:39:39

负载均衡
点赞
收藏

51CTO技术栈公众号