:date: 2005-10-15 01:14:58 :tags: IT-PC ==================================== mixiの新着情報をRSSで取得 ==================================== 昨日の `Googleの「Personalize your Google homepage」を使う`_ で、RSSをチェックしてると書きましたが、ついでにmixiの新着情報もRSSで取得しています。取得には `プチツール - mixipress`_ を使わせてもらいました。 mixipressには ``WWW:Mixi`` と ``HTML:Template`` が同梱されていますが、LWP::Debugが見つからないとか言われてなんかうまく動かなかったので、portsの ``p5-WWW-Mixi-0.33`` と ``p5-HTML-Template-2.7_1`` を入れてそっちを使うようにしたところ、日記取得以外はうまく動いてくれたようです。 しかし... .. _`Googleの「Personalize your Google homepage」を使う`: http://www.freia.jp/taka/blog/258 .. _`プチツール - mixipress`: http://www.iburiworks.com/petittools/mixipress.html .. :extend type: text/plain .. :extend: ここで問題が。 ふつうのRSSリーダーであれば問題にならなかったのかもしれませんが、Googleパーソナライズドホームは各RSSにつき最大7件までしかitemを表示してくれません。そして、このツールの生成するRSSのitemが時間順にソートされていない事もあり(日記・コミュニティー・...等グループ毎には時間順にソートされてる)、ちょっと微妙な感じになってました。 つまり、 - 友達の日記1の更新 - 友達の日記2の更新 - 友達の日記3の更新 - 友達の日記4の更新 - 友達の日記5の更新 - コミュニティー1の更新 - コミュニティー2の更新 - コミュニティー3の更新 - コミュニティー4の更新 - コミュニティー5の更新 とRSSデータのitemエントリが並んでいると、仮に ``友達の日記1の更新`` の更新時刻より ``コミュニティー1の更新`` の更新時刻の方が新しくてもGoogleのページには6番目に表示されます。 今回はGoogleで使うことが目的なので、カテゴリ単位のソートではなくitem全体をソートするようにfeed.cgiを書き換えてみました。 ‥‥Perlはよくわからんとです。 `feed.cgi 0.31(全体sort版)`_ 主な変更点は - itemをXML全体で時刻順にソート - WWW:Mixi(0.33)に合わせてコードを変更 - titleを ``カテゴリ名[名前]タイトル`` で整形 です。まー用途が特殊なんで自分以外使う人はいないと思うけど、使う場合は自己責任でお願いします。 .. _`feed.cgi 0.31(全体sort版)`: file/feed.cgi/file_view