地味に再生数が伸びているアイドルマスター動画

はてなブックマーク - じわじわ来てるエントリーを見て以来、ニコニコ動画でも同じようにじわじわ伸びている動画を見つけられないかと考えていました。漠然と、再生数などの伸びの傾きを調べればよいのだろうなあ、と思いつつも、パラメーターをどう設定するか試行錯誤するのが面倒で、そのまま放置しておりました。
ちょっと手抜きした調べ方ではありますが、「コメントはほとんど伸びてないけど再生数は地味に増えている」動画(=多分閲覧のみのリピーターが多い動画*1)を調べてみても、いい作品が見つけられるかもしれない、と思い、試してみました。
以下は、過去2週間、コメント数の増え方が一桁台なのに再生数が多いアイマス動画です(上位30件)。

タイトル 再生数の増分 コメント数の増分
アイドルマスター とかちつくちて  グラビア水着で大接近  1414 6
アイドルマスター菊地真(スク水)を描いてみた 1232 9
アイドルマスター  キング・オブ・魔女っ子 春香 1196 9
アイドルマスター_デビルマンstarring春香 1150 6
アイドルマスター 「たったひとつだけ」 美希・春香・雪歩 1133 8
アイドルマスター 千早『Z・刻を越えて』 1125 8
アイドルマスター 「Red fraction」by真 Second Barrage 1121 6
アイドルマスター ゲッチュウ! らぶらぶぅ?! 千早・真 1105 9
閣下で三国統一を目指してみる ステータス紹介【アイドルマスター】 1089 8
アイドルマスター IM@Sオールスター きみのためなら死ねる ラヴィ!! 1080 7
アイドルマスター 千早あずさ キングゲイナー・オーバー!(石田燿子) 1014 2
アイドルマスター Go Tight! 「創聖のアクエリオン」 991 5
アイドルマスター 真 - Venus say... / Buzy - 976 8
【MAD】アイドルマスター(律子)+blacklagoon(ロベルタ)+B4U 973 5
アイドルマスター 細かすぎて伝わらないモノマネ選手権2 891 8
アイドルマスター×エースコンバット5 OP 880 4
アイドルマスター アナタのヒトコト 861 7
アイドルマスター 踊る赤ちゃん人間 雪歩 848 5
アイドルマスター 隣に・・・ 三浦あずさ (MA07販促)Ver.1 842 9
アイドルマスター 菊地真 Swallowtail Butterfly 〜あいのうた〜 (Short.ver) 835 8
あい☆ます 【らき☆すた×超加速春香 with アイドルマスターAllStars】 830 7
アイドルマスター Magical Hacker☆くるくるやよい ShortVer. 828 7
【アイドルマスター】太陽のジェラシーにほえろ! 825 7
アイドルマスター きめらめきめき♪ 803 7
アイドルマスター 「とかちつくちてってってーんっふっふ〜(完)」 777 6
アイドルマスター ふるふるフューチャー☆ ShortVer. 星井美希 775 7
アイドルマスター? Pは見てはいけないものを見てしまったようです 775 6
アイドルマスター P「はっ春香!何を持ってるんだ!?」 753 7
アイドルマスター YOURSONG 鳥の詩 千早 751 7
アイドルマスター 夏だ!海だ!スク水だ! by 亜美@とかち 734 7

調べるのに使ったrubyスクリプトです。表への加工は、あとで表計算ソフト上で行いました。
NICOBOOMAPIを使っています。*2

require 'open-uri'
require 'kconv'
require 'uri'
require 'yaml'
require 'date'

def load(url,queries_hash={})
  base_url,base_queries=url.split("?")
  if base_queries
    queries_hash=Hash[*base_queries.split(/[&=]/)].update(queries_hash)
  end
  queries=queries_hash.to_a.collect{|i| "#{i[0]}=#{i[1]}"}.join("&")
  base_url+="?" if queries!=""
  puts "#{base_url}#{queries}"
  error_count=0
  begin
    YAML::load(open("#{base_url}#{queries}").read)
  rescue StandardError,Timeout::Error
    error_count+=1
    raise "Server Error" if error_count>2
    sleep 60
    retry
  end
end

#初期URLの設定
url=URI.escape("http://nicoboom.org/search.yaml?q=アイドルマスター | アイマス | idol | im@s&limit=100&ob=v&oo=d".toutf8)
#タイトル行を書き出す
open("continual_view_out.txt","w"){|f|
  f.puts("title\turl\tview_diff\tres_diff")
}

while true
  #検索APIにアクセス
  search_result=load(url)
  #連続アクセスしないように休んでおく
  sleep 10
  #個別情報毎に
  search_result["movies"].each{|movie|
    #個別情報APIにアクセスして直近14日分のカウントデータを取得
    info_result=load(movie["self"],{"since"=>(Date.today-13).to_s,"limit"=>14})
    #連続アクセスしないように休んでおく
    sleep 10
    #recordsは古い順に並んでいるはずなので最初と最後を調べる(ずぼら)
    view_diff=info_result["records"][-1]["view"]-info_result["records"][0]["view"]
    res_diff=info_result["records"][-1]["res"]-info_result["records"][0]["res"]
    #書き出す
    open("continual_view_out.txt","a"){|f|
      f.puts("#{info_result["title"]}\t#{info_result["url"]}\t#{view_diff}\t#{res_diff}")
    }
  }
  #次ページのURLが無いなら最終ページであるので脱出
  #あるなら次ページのURLを次に調べるURLとする
  break unless url=search_result["next"]
end

*1:リンクやサムネで集客力はあるけれどコメントせずに去られやすい動画、という可能性も

*2:誰も使ってくれないから自分で使ってみたのねとか言わない!