[僕] mixi コミュニティ一覧表示をキャッシュしてみる。

僕ト云フ事

たろマークはてなブックマーク

2005年01月18日

[mixi][perl][script] mixi コミュニティ一覧表示をキャッシュしてみる。

WAY TO GO: WWW::Mixiでサイドバーにコミュニティ一覧を表示

mixiのコミュニティ一覧をサイドバーに表示するスクリプトを書いてみました。

しかし、アクセス毎にいちいちログインしてるので表示まで時間がかかるのが玉にキズです…

そんな時には、Cache::Cache でどーでしょうか?
#なんか、search.cpan.org 重いような・・(;゚ロ゚)

#!/usr/bin/perl -w

use strict;
use lib qw(/path/to/perl/lib);
use Jcode;
use WWW::Mixi;
use Cache::FileCache;

my $id = 'your_id';

my $cache = new Cache::FileCache({
        cache_root => '/home/taro/mixi/cache',
        namespace => "mixi",
        default_expires_in => 60 * 60,
    });

my $data;
unless ($data = $cache->get($id)) {
        my $mixi = WWW::Mixi->new('your_mixi_account', 'your_mixi_password');
        
        $mixi->login;
        
        my $res = $mixi->get("/list_community.pl?id=$id");
        
        my @items = $mixi->parse_list_community();
        
        for my $item (@items) {
                my $link = $item->{link};
                my $subject = jcode($item->{subject})->utf8;
                $subject =~ s/'/\\'/g;
                $data .= "document.write('<a href=\"$link\" target=\"_blank\">$subject</a><br />')\n";
        }
        
        $cache->set($id => $data);
}

print "Content-Type: text/javascript\n\n";
print $data;

1;

cron が使えるなら、JS ファイルを定期的に自動生成とかもいいと思います( ´∀`)
#ウチの公開ディレクトリは、そんなファイルばっかりでゴチャゴチャしてきてる(ノ∀`)

トラックバック

このエントリーのトラックバックURL:
http://vkgtaro.jp/cgi-bin/mt/mt-tb.cgi/339

この一覧は、次のエントリーを参照しています: mixi コミュニティ一覧表示をキャッシュしてみる。:

» SVNリポジトリのログ履歴をサイドバーに表示する from WAY TO GO
O-AAの開発が割りと加速してきた風なので、標題のようなことを考え付いていろいろ... [詳しくはこちら]

コメントを投稿