自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

對與Python RSS服務(wù)說明介紹

開發(fā) 后端
Python RSS是在1999年創(chuàng)建而成,Python RSS內(nèi)的許多信息源中的內(nèi)容聚集到 Netcenter 這個門戶網(wǎng)站中。

到目前為止最為成功的 XML服務(wù)就是Python RSS,盡管它的起源非?;靵y,Python語言確實是一個很棒的 RSS 處理工具,本篇文章介紹了一些可用于 RSS 處理的模塊。

RSS 是一個可用多種擴展來表示的縮寫:“RDF 站點摘要(RDF Site Summary)”、“真正簡單的辛迪加(Really Simple Syndication)”、“豐富站點摘要(Rich Site Summary)”。也許還能用其他擴展來表示。在如此混亂的名稱背后,您會發(fā)現(xiàn)和這樣一個平凡的技術(shù)領(lǐng)域相關(guān)的故事多得令人吃驚。

RSS 是用于分發(fā) Web 站點上的內(nèi)容的摘要的一種簡單的 XML 格式。它能夠用于共享各種各樣的信息,包括(但不是僅限于)簡訊、Web 站點更新、事件日歷、軟件更新、特色內(nèi)容集合和基于 Web 進行拍賣的商品。

Python RSS是 Netscape 在 1999 年創(chuàng)建的,它允許將許多信息源中的內(nèi)容聚集到 Netcenter 門戶網(wǎng)站中(這個門戶網(wǎng)站現(xiàn)在已經(jīng)不存在了)。UserLand 社區(qū)中的 Web 狂熱愛好者們成為了 RSS 早期的支持者,RSS 很快就成為了一種非常流行的格式。

這種流行使得人們很難對 RSS 進行改進從而使它能用于更多的地方。這種限制導(dǎo)致了 RSS 的發(fā)展出現(xiàn)了分歧。其中一個組選擇了一種基于 RDF 的方式,目的在于利用大量的 RDF 工具和模塊,而另一個組則選擇了一種更加緊縮的方式。

前者被稱之為 RSS 1.0,而后者則被稱之為 RSS 0.91。就在上個月由于 RSS 非 RDF 變體的一個新版本的出現(xiàn)使得兩者之間的競爭進一步加劇,這一新版本被它的創(chuàng)造者稱之為“RSS 2.0”。

RSS 0.91 和 1.0 非常流行,并且許許多多的門戶網(wǎng)站和 Web 日志都使用它們。事實上,blogging 社區(qū)是 RSS 的主要用戶,而 RSS 就是某些現(xiàn)有的用于 XML 交換的網(wǎng)絡(luò)令人印象深刻的理由。

這些網(wǎng)絡(luò)已在有機地增長,并且真正地成為現(xiàn)有的最成功的 XML 服務(wù)的網(wǎng)絡(luò)。RSS 成為一種 XML 服務(wù)是因為它被通過網(wǎng)際協(xié)議交換 XML 信息(絕大多數(shù)的 RSS 交換是 Python RSS 文檔的簡單 HTTP GET)。

在本文中,我們介紹的不過是許多可以與 RSS 一起工作的 Python 工具中的少數(shù)幾個。我們不提供針對 RSS 的技術(shù)上的介紹,因為您可以在其他許多的文章中獲得這些內(nèi)容。

(請參閱參考資料)。我們推薦您首先簡單地熟悉一下 RSS 知識,并且能了解 XML。您不需要去了解 RDF。[ 由于 RSS 使用了 XML 描述而沒有使用 WSDL,所以我們將 RSS 作為一個“XML 服務(wù)”而不是一個“Web 服務(wù)”對待。- 編者按 ]

Mark Nottingham 編寫的 RSS.py 是用于 RSS 處理的一個 Python 庫。它非常完善并且編寫的很好。它需要 Python 2.2 和 PyXML 0.7.1。它的安裝是非常簡單;您只需從 Mark 的主頁中下載 Python 文件并將它復(fù)制到您的 PYTHONPATH 中的某處。

大多數(shù) RSS.py 的用戶本身只需要關(guān)心它所提供的兩個類:CollectionChannel 和 TrackingChannel。后者似乎是這兩個類中更有用的一個。TrackingChannel 是一個包含以每一項的關(guān)鍵字為索引的所有的 RSS 數(shù)據(jù)的數(shù)據(jù)結(jié)CollectionChannel 是一個類似的數(shù)據(jù)結(jié)構(gòu),但它的結(jié)構(gòu)更像 RSS 文檔本身。

它的頂層通道信息使用 URL 表示的散列值指向項細節(jié)。您很可能會使用 RSS.ns 結(jié)構(gòu)中的實用程序名稱空間聲明。清單 1 是一個簡單的腳本,它將下載并解析用于 Python 新聞的Python RSS供給,并以一個簡單的清單形式打印來自各項的所有信息。

我們從創(chuàng)建一個 TrackingChannel 實例開始,并且將從 http://www.python.org/channews.rdf 上的 RSS 供給解析得到的數(shù)據(jù)填入其中。RSS.py 使用元組作為 RSS 數(shù)據(jù)的屬性名稱。#t#

對于那些不習(xí)慣 XML 處理技術(shù)的人來說,這種方式看上去也許不太尋常,但它對于精確了解原始的 RSS 文件中的內(nèi)容的確是一種很有效的方式。因此,一個 RSS 0.91 title 元素被認(rèn)為不同于一個 RSS 1.0 中的同名元素。

應(yīng)用程序有足夠的數(shù)據(jù)來忽略這個差異,如果您愿意,可以通過忽略每個元組的名稱空間的部分來忽略這個差異;但基本的 API 是與初始 RSS 文件的語法相結(jié)合的,所以這個信息沒有丟失。

在代碼中,我們使用這個屬性數(shù)據(jù)來聚集用于顯示的新聞供給中的所有項。請注意,我們很仔細地不去假定任何特殊的項可能會有什么屬性。我們使用如下代碼所示的安全的形式來檢索屬性。

責(zé)任編輯:chenqingxiang 來源: CSDN
相關(guān)推薦

2010-02-02 13:28:46

Python變量

2010-02-02 14:42:38

Python線程

2010-03-01 13:13:02

Python應(yīng)用線程

2010-02-22 11:14:43

Python編寫

2010-02-26 10:07:55

Python編程語言

2010-02-24 16:44:58

Python 函數(shù)

2010-02-26 14:14:23

Python RSS文

2009-12-21 10:01:05

Oracle技術(shù)

2009-12-08 16:09:02

WCF消息

2010-01-25 18:19:17

C++特性

2010-01-25 18:19:17

C++特性

2010-01-25 18:19:17

C++特性

2009-12-14 17:44:39

Visual Stud

2010-01-14 13:39:45

Visual C++優(yōu)

2010-01-15 19:34:25

C++設(shè)計

2010-01-05 13:29:50

JSON對象

2010-02-03 17:37:30

Python語法

2010-02-02 14:54:28

Python語法

2010-02-01 18:06:48

Python Edit

2010-02-22 16:16:14

Python語法
點贊
收藏

51CTO技術(shù)棧公眾號