1 2 | # インストール
$ sudo apt-get install python2.4-feedparser
|
例として、タイトル、要約文、Webページへのリンクを抽出するプログラムを例示します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | #!/usr/bin/python # -*- encoding: utf-8 -*- # coding: utf-8 import os, sys, string import feedparser def main(): rssurl = "http://hoge.com/index.rss" print "Crawle RSS Start." try: fdp = feedparser.parse(rssurl) except: print "(Error) can not get the RSS..." sys.exit(1) print "Crawle Done." for entry in fdp['entries']: title = "" link = "" desc = "" if ( "title" in entry ): title = entry['title'] if ( "link" in entry ): link = entry['link'] if ( "description" in entry ): desc = entry["description"] elif ( "content" in entry ): desc = entry["content"] print "Title:\t", title print "URL:\t", link print "Description:\t", desc if ( __name__ == "__main__"): main() |
以下、上記プログラムの解説です。
すると、返り値として、パース済みのインスタンスが返ってきます。
あとは、このインスタンスが辞書配列になっていますので、元々定義されている キーを用いて、実際のエンティティにアクセスします。
詳細は、上記Universal Feed Parserのサイトでご確認ください。
注意すべき点としては、Atom, RSSによって、XMLタグ定義が全く異なるため、
それ専用のアクセス手段を実装する必要がある点(例:entry["description"]とentry["content"]など)です。
おれはRSS2.0以外知らん!という人には、不要かもしれませんが、様々なフィードを取得したいという方は、 上記のような対策が必要となると思いますので、本家サイトでよく確認されてください。