ふぐおがサイトの収益化を目指して作ったが、ニコニコがハッキングされたことによってわずか2か月で幕を閉じた、悲しきサイトです。
バックエンドもフロントエンドもガッツリある、Webアプリはこれが初であり、基礎を学べたので良しとします。
ニコニコで放映されているアニメの再生数、コメント数、マイリスト数を収集し、今ニコニコで一番見られているアニメを確認できるサイトでした。
Webサイトはこちら
https://animeini.com/
このようにチャンネルごとの平均再生数、コメント数、マイリスト数を基にランキングを作成。

運用を本格開始した2024年4月から2か月後の6月に、ニコニコがサイバー攻撃を受けて以降、ニコニコ側の仕様が変わってしまいました。
それに伴い、ニコニコから情報を取得する仕様がかわってしまい、それ以降対応できておりません。(一応、直したい気持ちはある。)
3つのリポジトリからできています。
https://github.com/boxfish-jp/NicoAniAnalytics
ニコニコから情報を取得してくるプロセス。
Firebase Functionsにデプロイしていました。
動画の情報を取得するAPIを使用する予定でしたが、あまりにもニコニコ側に負荷をかけてしまうので、魔法の力を使って取得しています。
公式APIを使う場合と魔法を使う場合でのニコニコへのリクエスト数の比較は以下の通りです。
1シーズンあたりのアニメを放映するチャンネル数を60チャンネル、それぞれ12話アニメを放映するとする。(現実はこれ以上多い。)
- 公式APIの場合: 60チャンネル×12話=720リクエスト
- 魔法の場合: 60チャンネル=60リクエスト
12分の1の負荷になっています。また、魔法は10秒に1回のみ発動するようにしており、ニコニコ側への負荷は細心の注意を払っています。
さらに、負荷をかけているお詫びとして、私はプレ垢費もかかっています。
(ニコニコ側の仕様が変わってしまってからは、停止中です。)
https://github.com/boxfish-jp/nicoAniHono
取得してきた情報を保存しておく、DBのAPIです。
DBはCloudflare D1,APIのフレームワークとしてHonoを使用しています。
あまりよく分かっておらず作っているため、かなり拙いです。
https://github.com/boxfish-jp/NicoAniAnalyticsFront
このリポジトリです。
NicoAniHonoからデータを取得してきて、それを表示するフロントエンドです。
セキュリティーと軽量さにはこだわっており、ランキングページはSSR、動画ページはSSGで表示します。
Next.js, Tailwind CSS, Shadcnを使っています。

