はてなブックマークにはAPIが用意されており、外部から情報を取得することが出来ます。用意されたガジェットやボタンではデザインを変更できませんが、テキストで取得すれば自由に変更することができ便利です。また、ソートに使用したり、そのURLの人気度合いのスコアを計算するのに使ったりといろいろと用途は考えられます。ブックマーク数をPHPを使って取得する方法を2パターンご紹介します。
方法1 ブックマーク数取得用のエンドポイントにGETリクエストを送信する
ブックマーク数を取得するだけであれば、GETリクエストを送るだけで取得することができます。お手軽です。
1 2 3 4 |
<?php $response = file_get_contents('http://api.b.st-hatena.com/entry.count?url=http://www.yahoo.co.jp/'); print $response; |
方法2 関連情報の中のブックマーク数を参照する
はてなブックマークの API にはブックマーク数の他に関連情報を取得することができます。サムネイルだったり、関連記事だったりといろいろと取得できるのですが、今回はその中からブックマーク数だけを取得します。レスポンスはJSONで返されますので、JSON のデータをデコードする必要があります。ここでは、JSON のデコードに PEAR のServices_JSONを使用します。
1 2 3 4 5 6 7 8 |
<?php include 'JSON.php'; $json = new Services_JSON; $response = file_get_contents('http://b.hatena.ne.jp/entry/json/http://www.yahoo.co.jp/'); $data = $json->decode($response); print $data->count; |
こちらの方法 2 はその他の関連情報を一緒に取得できる反面、レスポンスが遅いようです。件数だけを取得したいのなら、方法 1 のほうがよいですね。その他の情報については改めて記事にしたいと思います。