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
を入れてそっちを使うようにしたところ、日記取得以外はうまく動いてくれたようです。
しかし...
ここで問題が。
ふつうの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を
カテゴリ名[名前]タイトル
で整形
です。まー用途が特殊なんで自分以外使う人はいないと思うけど、使う場合は自己責任でお願いします。