特定の Post から被 Reblog の多い人を調べる

何かしらで書こうとは思っていたものがあり、それがタイトルの通りで
"このポストは誰からの Reblog が多いのか"
を調べます。

まずポストを開きます。
前日の投稿にならい、今回も変態仮面の公式HPのキャプを使用します。

ポストを開いたら [Ctrl + Shift + J] で開発コンソールを開きます。

そこで下記のコードを実行して notes ページへ飛びます。

location.href = document.body.innerHTML.match(/tumblrReq\.open\('GET','(\/notes\/\d+\/[^\?]+)/)[1]

notes が表示されていない theme(テーマ) を使用しているページでは UserAgent を iPhone などスマートフォンにすることで表示させられます。

notes ページを開いたら下段の「もっと見る」をクリックして notes をある程度読み込ませます。

そして JS コンソールで以下のコードを実行します。

Object.prototype.kvMap = function kvMap(f) {
  var result = [];
  var k, v;
  for (k in this) {
    if (!this.__proto__.isPrototypeOf(this[k])) {
      result.push(f(k, this[k]));
    }
  }
  return result;
}

Array.apply(0, document.querySelectorAll('.source_tumblelog'))
  .reduce(function (o, v) {
    var domain = v.href.match(/http:\/\/([^\/]+)/)[1];
    o[domain] = (o[domain] ? o[domain]+1 : 1);
    return o;
  }, {})
  .kvMap(function (k, v){
    return [k, v];
  })
  .sort(function(a, b){
    return b[1]-a[1];
  })
  .map(function(v) {
    console.log(v[1], v[0]);
  });

これで被 Reblog アカウントとそのカウントが得られます。

もっと楽な方法があると思うので、ご存知の方がいらっしゃったらコメントやリプを送っていただけると助かります。