ゆっくり実況ランキングサイト、試験公開中

 やっと最低限のものができあがったので、試験的に公開します。
11/4 再開しました。

 -> ゆっくり実況ランキングサイト YNN

どういうサイトなのか。何で作ったのか。

 「ゆっくり実況」タグのついた動画限定のランキングサイトです。
 ただ、動画ごとではなくシリーズごとのランキングを集計している点が売りです。動画個別のランキングというのは沢山ありますが、ゆっくり実況は大半が続きものであることから、シリーズのランキングがあったらいいなと思って作りました。

 もう一つ。僕は今ただの素人なのですが、プログラマになりたくて、会社に提出できる形あるものを作りたかったのです。

ランキングの基準になってるポイントって何?

 まず個々の動画について、次に説明する「ポイント」を毎日記録します。そして前日からの増加ポイントを計算し、その増加ポイントをシリーズ内で単純平均したものが、ランキングで用いるポイントです。

 そして「個々の動画のポイント」とは何かですが、これはニコニコ動画が採用していると言われる計算式にできるだけ準拠した形で計算したポイントです。できるだけというのは、技術的な問題からニコニ広告に比例するポイントが計算に含まれていないからです。したがって、盛んに宣伝されている動画は本来ポイントが高くなるはずですが、本ランキングでは残念ながら反映されません。

 つまり、「ニコ動でいう総合ポイントのデイリーランキングを、シリーズ毎の平均で計算し直した。ただし宣伝ポイント分は含まれない」ということです。

おことわり

 このランキングは公正さも正確さも担保されません。その理由は次の通り。

  1. ニコニ広告宣伝ポイントが含まれない。または計算式が公式通りという確証がないため、ニコ動の「総合ポイント」との大きな乖離があり得る。
  2. 毎日全ての動画情報を1時間以内に取得しているが、当然その幅の内で集計上の有利不利が生まれる。
  3. 「ゆっくり実況」タグの付く動画全てを網羅していない。

 したがって、このランキングはお遊びにすぎず、そのシリーズの人気を非常に大雑把にしか表現していない/できないということをご承知置き下さい。

 また、クローラ使用上の問題とか、CNNから怒られるとかなんやかんやで、予告なく公開を終える場合があります。

この先の予定は?

 サーバとRailsのパフォーマンスチューニングは最優先として、

  • タグ・タイトル検索機能の追加
  • Twitterや動画コメから、意味のあるコメントを抽出して掲載
  • 動画が完結しているかどうかの判定機能の追加
  • ランキング情報提供APIの実装
  • 投稿者によりマイリスト化されていない動画も認識するよう、クローラを改良。
  • IE8以前でCSSが反映されない大問題を解決

 等を考えています。
 何はともあれ、まずはタグ情報の収集ですかね。これによっていろんな可能性が開けます。完結判定の他にも、例えば固定タグからゲーム名(の可能性が高いタグ)を抽出するとか、part1だけまとめたシリーズを確実に区別できるようになるとか。

ランキングに掲載することを望まない方への対応

 ランキング掲載については、そもそも公開されてるんだから文句は言えないだろという意見もあるでしょう。しかし、ランキングサイトを作ったことによって特定の投稿者が萎縮してしまうような事は個人的に避けたいのです。一般に公開はするが、有名になることを必ずしも望まない人もいるはずです。

 …ので、申請があれば非掲載にしたいと思いますし、その機構を組み込むのは簡単なのですが、問題は申請者と投稿者が同じであることをどうやって判断するかです。今のところ、私の作った専用アカウントにフレンド申請をしてもらう方法を考えてますが、運用してみないと上手くいくか分からないので、今後方法を変える可能性はあります。詳しくは、ここを読んで下さい。

その他

技術的な話

 このサイトはRailsとMongoDBで動いています。
 最初はMySQLで作っており、パフォーマンスも不満はなかったのですが、延々増え続ける日々のログをどうするのか、JSON提供APIを実装する時にドキュメント指向DBの方が都合がいいんじゃないか、ということでMongoDBに換えました。JOIN的な事を全てRails側でやらざるを得ず(いや、上手いやり方があるのかもしれませんが)、まずいロジックだとRDBMS的JOINより格段に遅くなるのが目下の悩み。

 サーバはさくらVPS 512MBです。最初はAmazon EC2 マイクロインスタンスでしたが、さくらにお試し期間があったので試したところ、EC2より格段に快適でした。それにnginx + unicorn + Rails 3.1で動かしています。

クローラについて

 このサイトは自作のニコ動専用スクレイピングライブラリ'nicoscraper'を使っています。そんなに大したものではありませんが、クローラ作成上の労力を軽減するお手伝いになるはずです(濫用するとニコ動からクレームが付くでしょうし、それ以上の事態になるかもしれませんが、このあたりのさじ加減や作法は僕にも何とも言えません)。
 マニュアル整備中につき間違いが多いかも知れませんが、Twitterやメールで聞いて頂ければできるだけ答えます。これでマニアックなジャンルのランキングサイトを作って頂けると、私も大変嬉しいです。

連絡先

Twitter @h_demon
MySite: hdemon.net
Mail: hdemon7'at'gmail.com