被はてブのベスト50を合計して表示する(ローテクで)

ユーザーidを入力することで、最近のブックマーク数をカウントする
hatena bookmark counter - 被はてブカウンター

これはこれで面白いのですが、はてなユーザー以外には対応していないですし、古いエントリーの被ブックマークを拾えなかったり、他にもグループでの被ブックマークなどが集計されないので、被はてなブックマークのベスト50を合計して表示する Bookmarklet を作りました。


まず最初に断っておくと、API とか使いこなせないので、ただ単純に足しているだけです。


ローテクです。


暗算の得意な方はこんな Bookmarklet を使う必要なんてありません。


というわけで、以下はその使い方の説明。
はてなブックマークでは URL で検索することができます。


まずははてなブックマークのトップから



URL で検索を選ぶのですが、



ここでのコツは
http://d.hatena.ne.jp/ユーザーid/
とするのではなく、
http://*.hatena.ne.jp/ユーザーid/
と、「*(アスタリスク)」とすることで、

  • http://d.hatena.ne.jp/ユーザーid/
  • http://グループ名.g.hatena.ne.jp/ユーザーid/

を同時に検索することができます。

「*」を使った検索は現在停止になりました。ご了承下さい。



また、はてな以外のサイトでも同じ手法で、複数の URL をまとめて検索することもできます。



そして検索後「人気順」とすることで、そのユーザーの被はてなブックマークベスト50を見ることができます。


ただ、ここまでの手順を毎回するのは面倒なので、Bookmarklet にしてみました。

javascript:(function(){var l=location.href;if(s=l.match(/.hate(na.ne.|labo.)jp\/([\w-_]+)\//)){h='http://*.hatena.ne.jp/'+s[2]+'/';}else{h=l;}location.href='http://b.hatena.ne.jp/entrylist?url='+h+'&sort=count';})();

これを使うと、はてなのページではユーザーidを取得し、それ以外のページではその URL の人気エントリーを表示します。


あとは「人気順」になっている users数を足すだけです。

javascript:(function(){var r=0;var s=document.getElementsByTagName('a');for(var i=0;i

この Bookmarklet を使うと、users数を足して表示します。



  ↓

ページに表示されるのが50件までなので、アルファなブロガー様だとロングなテール過ぎて多くなってしまいますが*1、私くらいの底辺ダイアラーだとテールが短いため、ほぼ補足できるので満足できる結果になります。





他にも、フィード毎のベスト20を知る方法もあります。必要あるかはさておき。
はてなRSSの個別のフィードから




「このフィードの注目エントリー/登録しているユーザー」を選択すると



おすすめフィード」の下に「このフィードの注目エントリー」が20エントリー分 表示されます。


あとは、上記の Bookmarklet を使うと

その20エントリーの合計users数が分かります。

ちなみに「このフィードの注目エントリー/登録しているユーザー」に移動する Bookmarklet

javascript:(function(){var l=location.href;if(s=l.match(/([\w-_]+).g.hatena.ne.jp\/([\w-_]+)\//)){h=s[1]+'\.g';s=s[2];}else if(s=l.match(/.hate(na.ne.|labo.)jp\/([\w-_]+)\//)){h='d';s=s[2];}else{h='';s='';}location.href='http://r.hatena.ne.jp/feed/http://'+h+'.hatena.ne.jp/'+s+'/rss';})();

これは はてな限定で

  • http://r.hatena.ne.jp/feed/http://d.hatena.ne.jp/ユーザーid/rss
  • http://r.hatena.ne.jp/feed/http://グループ名.g.hatena.ne.jp/ユーザーid/rss

こういう URL になります。


以下は補足

補足説明

「*」を使わない検索
今回に限らないのですが、はてなブックマークで「*」を使ったエントリーの検索は負荷が高いようなので、はてなグループを利用してない場合などは、ダイアリーだけに限った方が動作が軽くなります。

javascript:(function(){var l=location.href;if(s=l.match(/.hate(na.ne.|labo.)jp\/([\w-_]+)\//)){h='http://d.hatena.ne.jp/'+s[2]+'/';}else{h=l;}location.href='http://b.hatena.ne.jp/entrylist?url='+h+'&sort=count';})();

「*」ではなくて、ダイアリーに限定した Bookmarklet


一部のページではユーザーid が取得できません
はてなユーザーidを取得する Bookmarklet は一部のページできちんと抽出できません。例えば

  • http://q.hatena.ne.jp/1142247851/143/
  • http://b.hatena.ne.jp/entry/849289
  • http://cinnamon.g.hatena.ne.jp/task/3/*2

などでは太字の部分がユーザーid として選択されるため、きちんと動作しません。ご了承下さい。

*1:id:naoyaさんだと、50番目でも70users!

*2:id:taskさんはいらっしゃるので、ある意味ちゃんと動作はするのですが