読者です 読者をやめる 読者になる 読者になる

はてなブログの評価指標 Hatena-Indexを実装しました

programming 雑記

id:min2-flyのアイディアtitle=Hatena-Indexを実装してみました。*1どのくらい記事を書いているかと、どのくらいはてなブックマークされているかを表す指標になります。

Hatena-Index

f:id:otani0083:20130809214204p:plain

Hatena-Indexの詳細はHatena-Index - かたつむりは電子図書館の夢をみるかをご覧くとして、Hatena-Indexは研究者の評価指標h-indexのはてな版です。記事を論文、はてなブックマークを引用に見立てており、Hatena-Indexが5であれば5以上ブックマークされた記事が5以上存在することを表します。本来は全エントリを対象に計算するのですが、今回は自分の技術的な制約から対象を30エントリに限定しています。

その他、はてなスターTwitterFacebookGoogle+などの反応もグラフに表示します。

すこしでもブログ書くモチベーションやはてなブログへ切り替えの切っ掛けになれば幸いです。

利用にあたって

いろいろと能力不足で以下のような状態です、ひろいこころで利用ください。

  • とても重いです。結果の表示に1分程度はかかります。
  • 500エラーがしばしば発生します、キャッシュがたまることによって、実行速度があるので再度お試しください。
  • はてなブログ限定です。また、はてなダイアリー時代の各種SNSの情報は取得できません。
  • ブログトップページのURLを入力してください。エントリページからは利用できません。
  • グラフの表示は右側に行くほど昔のエントリになります。
やっていること
  1. 入力されたURLをもとに、そのブログの全エントリを取得。archiveのページからスクレイピングで全エントリを取得しています。スクレイピングPythonのBeautifulsoupを利用しています。
  2. はてなのAPIからブックマーク数とスター数を取得。
  3. SharedCount: Social URL AnalyticsAPIからTwitterFacebookGoogle+の情報を取得。
  4. 各エントリのブックマーク数からHatena-Indexを計算。
  5. htmlで整形。グラフはccchartというライブラリを、テーブルはTwitter BootstrapとjQuery plugin: Tablesorter 2.0を使用しました。

ソースコードは以下においています。
otani0083/hatenaindex · GitHub

Google app engineのタイムアウト設定が60秒なので、検索して60秒超過すると500エラーが生じます。もうちょっと自由度の高い環境であれば全エントリを対象にした結果を表示できそうです。さくらVPS解約したばかりですが…。
高速化・ほかのブログサービスへの対応・全件を対象とした処理・ランキング表示などは、もうちょっと自分の技術力があがったら対応したいと思います。

Google app engineの無料枠であと6つ作れるので、次はなにを作りましょうかね。

h-indexについて参考

カーリルウィジェット使ってみました。

*1:min2-flyに伺ったところ以前にid:myrmecoleonがはてな指標[はてブの改変にともない休止中]として実装していたそうです。