feedparserは使っていてわかりやすい気持ちいいツールですね。
- Universal Feed Parser
ものすごい直感的に扱えます。rssをリストと辞書に変換してしまうっていうコンセプトがいい。rssだろうが、atomだろうが関係なく処理してくれるし、マッパーとして直感的だと思う。
import feedparser
d = feedparser.parse("http://d.hatena.ne.jp/gamella/rss")
for entry in d.entries:
_空白_print entry["id"]
やりたかったことはこれでOKみたい。これを実行すると、
tomo@tomo-linux:~/python$ python feed.py
http://d.hatena.ne.jp/gamella/20060514#1147541517
http://d.hatena.ne.jp/gamella/20060514#1147617494
http://d.hatena.ne.jp/gamella/20060513#1147450172
http://d.hatena.ne.jp/gamella/20060511#1147361587
http://d.hatena.ne.jp/gamella/20060508#1147098343
http://d.hatena.ne.jp/gamella/20060508#1147015683
http://d.hatena.ne.jp/gamella/20060508#1147015092
あとは、上のidをauthorとかdateとかcontentとかにすればいいみたい。一応、keys()でだしてみました。こいつらがkeyです。
['summary_detail', 'updated_parsed', 'links', 'title', 'author', 'updated', 'summary', 'content', 'title_detail', 'link', 'id', 'tags']
これで、一通り勉強も終わったし、そろそろシステムの実装にはいりますかね。最初はcgiモジュールとcgi.tbモジュールで作って、あとでweb.pyに持って行く予定です。web.pyって、ソースは基本自分で書くからそういう使い方が合ってる気がします。
処理の流れ的には、feedparserでfeedを取得=>コンテンツの解析=>SQLObjectでDBに情報を格納=>解析結果をweb.pyで表示(SQLObjectを利用)という流れの実装にする予定です。webサービスは作ってなんぼなので、とりあえず、動くものをつくっちゃう予定です。ただ、デザインセンスがまるっきしないから、とりあえず動くもの作ってデザインはだれかに頼もうかな、、、