Hatena::ブログ(Diary)

はてなダイアリー日記 このページをアンテナに追加 RSSフィード

使い方に関するご質問、不具合報告やご要望は、お問い合わせ窓口で承ります。
使い方のコツなどを知りたい時は、人力検索はてなの「はてなの使い方」カテゴリーをご利用ください。
※コメント欄へのご質問には対応できない場合がございますのでご了承ください。

2004/02/05

hatenadiary2004-02-05

はてなダイアリーキーワード自動リンクAPI

14:49

はてなダイアリー外のアプリケーションにおいて、はてなダイアリー内と同じく、キーワードの自動リンクを可能とするためのAPI試験公開しました。

以下のURLから、はてなダイアリー内のキーワードにマッチする正規表現パターンを、EUC-JP文字コードにより取得頂けます。(通常のブラウザで閲覧するとエラーとなる場合がございます。ご注意ください)

http://d.hatena.ne.jp/images/keyword/keywordlist

外部アプリケーションにおいて、任意のテキストに対して自動リンク処理を行う場合のPerlサンプルスクリプトは以下のようになります。

#!/usr/bin/perl -w
use strict;
use LWP::Simple qw(get);

my $text = 'はてなダイアリーの自動リンクテスト。';
my $url = 'http://d.hatena.ne.jp/images/keyword/keywordlist ';
my $keywordlist = LWP::Simple::get($url);
$text =~ s!
    ($keywordlist)
!
    my $enword = my $word = $1;
    $enword =~ s/(\W)/sprintf("%%%x",ord($1))/ge;
    qq|<a href="http://d.hatena.ne.jp/keyword/$enword">$word</a>|;
!egiox;
print $text;

なお、上記ファイルは現状で300KBほどありますので、アプリケーション側で一定時間キャッシュして頂くなどの措置をお願いできればと思います。

追記:正規表現にoオプションを加えました。miyagawaさん、有難うございました。

ArieArie 2004/02/05 14:00 はてなダイアリーブックのページ中の価格例が間違ってるようですが・・・上製本の場合は7350円ではないでしょうか?違いますか?

hatenadiaryhatenadiary 2004/02/05 14:04 すみません、足し算が間違っていました。ご指摘有難うございました。

ArieArie 2004/02/05 14:11 いえいえ、いつもお世話様です<(_ _)>

miyagawamiyagawa 2004/02/05 16:09 正規表現に o オプションをつけたほうがいいかもしれません

hatenadiaryhatenadiary 2004/02/05 16:40 ご指摘有難うございます。もっとシンプルなコードがあればぜひ教えてください

unouno 2004/02/24 20:01 サンプルスクリプトのとおりだと、「/」を含むキーワードが正常にリンクされないようです。「/」を%2Fにエンコードしてはいけないのでしょうか。

トラックバック - http://d.hatena.ne.jp/hatenadiary/20040205/1075960162