はてなアンテナAPI(もどき)

以前、はてなアンテナの登録数でランキングをしたときにも思ったんだけど、はてなアンテナの被登録数を取得するAPIが欲しいな、と。というわけで、はてなアンテナ登録数をJSON(JSONP)で取得するAPI(もどき)を作ってみた。以下、未来の自分のためにメモ。

"url"にURLをエスケープした文字列を、"_callback"にコールバック関数名を指定する。返ってくるのは下のような形式。アンテナ登録数はvalue.items[0].a_count、タイトルはvalue.items[0].title、URLはvalue.items[0].urlあたり。

callback({
  "count":1,
  "value":{
    "title":"\u306f\u3066\u306a\u30a2\u30f3\u30c6\u30ca\u30ab\u30a6\u30f3\u30c8API+",
    "description":"Pipes Output",
    "link":"http:\/\/pipes.yahoo.com\/pipes\/pipe.info?_id=ad2bab35f44c63ae388c281178cef53a",
    "pubDate":"Sun, 14 Sep 2008 04:03:41 PDT",
    "generator":"http:\/\/pipes.yahoo.com\/geiinbashoku2\/ahatena_count\/",
    "callback":"callback",
    "items":[
       {
         "url":"http:\/\/a.hatena.ne.jp\/",
         "content":null,
         "title":"\u306f\u3066\u306a\u30a2\u30f3\u30c6\u30ca",
         "a_count":"124",
         "description":""
       }
    ]
   }
})

URLからも分かるように実体は「Pipes: Rewire the web」で作ったもので、Pipesでは「http://a.hatena.ne.jp/include?http://a.hatena.ne.jp/」をスクレイピングして情報を取得している。ただそのまま処理しようとすると"failed to parse non HTML page"というエラーが出る(はてな関連のページでは出ない?)ので、慣例に従い「Google Mobile Proxy」に通している。そのため二重に重いというか遅い。一応Pipes側でキャッシュしてるので二回目は少し速くなるようだけど。

2008-09-17追記
APIのURLを変更しました。