
URLなどのリンクを簡単に記述する http 記法を使って、そのページのスクリーンショットを簡単に作成、日記で紹介できるようになりました。というワケで、この記法で生成されたスクリーンショットのURLを取得するモジュールを作りました。
使い方
use Hatena::Screenshot;こんな感じで、変換したいURLの一覧をリストで渡して、欲しいサイズのリストを取得する感じです。
my $jitensya = Hatena::Screenshot->new(
cookies => '/home/user/.w3m/cookie',
login => { id => 'hatenaid' }
);use Hatena::Screenshot;
use HTTP::Cookies::Guess;
my $jitensya = Hatena::Screenshot->new(
cookie_jar => HTTP::Cookies::Guess->create('/home/user/.w3m/cookie'),
login => { id => 'hatenaid' }
);$jitensya->convert(qw(http://b.hatena.ne.jp/ http://i.yappo.jp/));
my $normal = $jitensya->normal;
print $normal->{http://b.hatena.ne.jp/};
my $small = $jitensya->small;
print $small->{http://b.hatena.ne.jp/};
my $large = $jitensya->large;
print $large->{http://b.hatena.ne.jp/};print $jitensya->convert_lite('http://www.cpan.org/')->{normal};
print $jitensya->convert_once('http://www.google.com/');
オプションとかは後で変えるかも、HTTP::Cookies::Guessの内蔵をやめるかも。
今のところHTTP::Cookiesで普段使用しているブラウザのCookieを利用してはてなにアクセスしてますが、id/passを指定するだけで使えるようにもします。
内部的には、はてな日記に渡されたURLを[htt:image]に変換して書き込み、はてなにスクリーンショットのURLに変換させたものを本番ページをスクレイピングして変換後のURLをぶっこ抜きます。
特定の日付をストレージ代わりに使う感じです。ストレージというよりかはコンバータかな。
で、デフォルトは0000年00月00日を使っているので、この日付を使っている人は全部消えちゃいます。
回避策は
my $jitensya = Hatena::Screenshot->new(こんな感じです。1000年01月01日にデータを書き込みます。
cookies => '/home/user/.w3m/cookie',
login => { id => 'hatenaid' },
date => '10000101',
);
Text::Hatenaへの拡張もすると便利そうだからCPANにうpしよっと♪
Posted by Yappo at 2006年05月30日 11:25 | TrackBack | Perl