2007年03月22日 04:30 [Edit]

perl - 任意のURIからfaviconを取得するAPI

404 Blog Not Found:Hatena::Bookmark - ぶくマのfaviconを表示する」で示したようなアプリケーションは今後結構ありうると考えて作りました。


利用法は簡単です。

<img src="http://api.dan.co.jp/favicon/http://www.example.com/path/" alt="favicon">

例:

  • http://api.dan.co.jp/favicon/http://blog.livedoor.jp/ → favicon
  • http://api.dan.co.jp/favicon/http://blog.livedoor.jp/dankogai/ → favicon

とはいっても、大々的に使ってもらうには鯖の余裕にちょっと自信がなかったり。Sourceを以下に示しておきますので、ご自由にお使いください。CGIでもmod_perlのregistryでも動きます。私の鯖ではmod_perlで動かしています。

Source Code:
http://api.dan.co.jp/favicon.src

404 Blog Not Found:perl - Livedoor Reader と はてブのmashup」で紹介した「Hatena Bookmark Ranking by Livedoor Reader Ranking」もこれにあわせてアップデートしてみました。なかなか奇麗です。

さらに、以下のようなJavaScriptと組み合わせれば、class="favicon"なaタグにfaviconを付けることも可能になります。

var AddFaviconToLinks = function(classname, api_prefix){
   var elems = document.getElementsByTagName('a');
   for (var i = 0, l = elems.length; i < l; i++){
      var a = elems[i];
      if (a.className != classname) continue;
      var img = document.createElement('img');
      img.src    = api_prefix + a.href;
      img.alt    = classname
      img.width  = img.height = 16;
      img.setAttribute("style", 
                       "{border:0;margin-left:2px;vertical-align:bottom}");
      a.appendChild(img);
   }
}
AddFaviconToLinks('favicon', 'http://api.dan.co.jp/favicon/');

Enjoy!

Dan the Faviconphilia


この記事へのトラックバックURL

この記事へのトラックバック
簡素なテキストリンクに少しの彩りと、視覚からどんなサイトへのリンクかを直感的に分かるようになる、Faviconを表示するAPIについて。 簡単にFaviconを表示出来るAPIの利用方...
FaviconAPIの選択【atl*weblog】at 2009年02月25日 13:01
Favicon API (ファビコン) α版 [favicon.aruko.net] が正式に休止中になりました。おそらくみんなただで使いまくったせいだと思う。僕も使っていたのでごめんなさい。 そんで、会社でも盛大に使っていたので、PAGE 2009開催中で会社のサイトに来訪が多かったにもかかわらずF...
Favicon API α版の代わりに自サイトにAPIを設置する【M.C.P.C.】at 2009年02月11日 15:06
「404 Blog Not Found:誤った404エラーページをつくるただ1つの方法」で示したようなURIのStatusを、Webブラウザーから直接確認することを可能にするAPIを作りました。
perl - 任意のURIのStatusを確認するAPI【404 Blog Not Found】at 2007年03月31日 05:22