PythonのRSS/Atomパーサのデファクトは何?

Python Cheese ShopがPerlで言うCPANっぽい気がしたので、ここで探してみました。

検索結果の中から、"toursst"が気になりつつパーサなら"universal feedparser"かなと思い、Universal Feed ParserからDLしてインストール。

easy_installで検索からインストールまで出来るのかと思いましたが、"Universal Feed Parser"は出来ない模様。Source Forgeで独自に管理してるからでしょうか。よく分かりません。そういえば、CPANシェル(?)のようなものはあるんですかね。

ひとまず、setup.pyを使ってインストールまで出来たので、ドキュメントのサンプルを見つつコードを書いてみました。
KOSHIGOE学習帳 - [python]RSS/Atom関連

Conditional GETのための設定やUAなど、色々とオプションを指定出来るようですが、それは後回し。RSS1.0/RSS2.0/Atom1.0について、適当な要素を表示してみました。

(当然ながら)インターフェースが統一されているので、対象を考えずにコードを書けます。フィードの種類やエンコーディングを類推(?)するメソッド、HTTPヘッダを取得するメソッドなども使えるようです。

データを取得する際、ディクショナリとして普通に['...']を使ってもよし、属性風にアクセスしてもよし。名前に付いても、Atom的でもいいしRSS的でもよし。

キャッシュの仕組みは別途必要になりそうですが、大体の事はこのモジュールで解決出来そうな印象です。

高機能なだけに、単体テスト(のテストケース?)を3000程書いているようです。トップページにサンプルコードがあるのも好印象ですが、テスト具合を主張するのもいいです。

さて、"Universal Feed Parser"で宜しい気がしますが、実際のところRSS/Atom関連でPythonのデファクト的なモジュールはあるのでしょうか?

プロフィール

このブログ記事について

このページは、koshigoeが2007年2月17日 00:33に書いたブログ記事です。

ひとつ前のブログ記事は「Djangoのチュートリアルをやってみた」です。

次のブログ記事は「Pythonでスクリーンスクレイピング」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。