新ランキングでのランキング過去ログファイル利用方法


はじめに

ニコニコ動画では、過去にどのような動画がランキングに掲載されていたかが分かる機能を提供しています。

これまではプレミアム会員専用機能として、ブラウザ上で過去のランキングを閲覧できる機能を提供してまいりましたが、
2019年6月中に導入される予定の 新ランキング(ジャンルランキング) にあわせて、ファイルとしてご提供する方式に変更させていただきます。

つきましては、本記事を通して、ランキング過去ログファイルの技術情報について、事前に説明させていただきます。

このドキュメントの説明

本ドキュメントは、リリースに先立ち、ランキング過去ログの情報を必要とするニコニコユーザー様に向けて、事前に技術情報を解説するものです。 ジャンルランキングの過去ログファイルは、ジャンルランキングのリリースと同時に利用可能になります。
利用を希望される方は、利用規約に同意いただいたうえで、このページに記載されている方法をもとにログファイルを取得してください。

利用規約

「ジャンルランキング 過去ランキングlogファイル」利用規約

株式会社ドワンゴ(以下「当社」といいます)が提供する「ジャンルランキング 過去ランキングlogファイル」(以下、「本件データ」といいます)の利用者(以下、「利用者」といいます)は、本件データを利用するに当たって、必ず「ジャンルランキング 過去ランキングlogファイル」利用規約(以下、「本利用規約」といいます)の内容に同意していただく必要があります。なお、利用者が未成年者の場合、必ず法定代理人(親権者等)の同意を得たうえで本件データをご利用ください。当社は、未成年者が本件データを利用したことをもって、法定代理人(親権者等)の同意を得たものとみなします。

第1条(許諾) 1.当社は、利用者に対し、本件データを利用することを許諾します。 2.本件データの利用をするに当たり、利用者は、当社に対して、利用者が反社会勢力(暴力団、暴力団員、暴力団準構成員、暴力団関係企業、総会屋等、社会運動標榜ゴロ、政治活動標榜ゴロ、特殊知能暴力集団、反社会的勢力共生者、又はその他これらに準ずる者をいいます。以下同じです)に該当しないことを表明し、且つ将来にわたっても該当しないことを確約します。 3.当社は、利用者が本利用規約に反した場合、利用者に催告なく、本条第1項に定める利用許諾を取り消すことができるものとします。

第2条(本件データに係る権利) 本件データに関する著作権等の権利は、当社又は当社に本件データの利用に関する権利を許諾した第三者に帰属するものとします。利用者は、著作権等の権利を第三者に譲渡、賃貸、サブライセンスその他の処分をしてはならないものとします。

第3条(禁止事項) 利用者は、本件データの利用に際して、故意・過失の有無にかかわらず、自ら又は第三者をして、以下の各号に該当する行為を行ってはならないものとする。 (1) 本件データの直接販売等、商用目的による利用。 (2) 第三者の権利(著作権、その他知的財産権、名誉、プライバシー、信用等を含むがこれに限られません)を侵害する行為。 (3) 本件データを複製、改変、翻訳、第三者へ頒布、送信(自動公衆送信、送信可能化を含む)する行為。 (4) 未成年者が法定代理人(親権者)の同意を得ずに、本件データを利用すること (5) 公序良俗に反する行為(反社会的活動及びその宣伝活動も含む)。 (6) その他本利用規約に違反し又は抵触する行為。

第4条(非保証) 当社は、利用者に対して、本件データの正確性、合法性、道徳性、最新性、適切性等について保証しません。

第5条(免責) 1.当社は、本件データの利用に起因して利用者が被った損害につき、一切責任を負いません。 2.本件データに関連して、利用者と他の利用者又は第三者との間において生じた紛争については、当事者において解決するものとし、当社は一切責任を負いません。 3. 本件データの提供は、当社の都合により変更又は中止する場合があります。当社が、提供する本件データの内容の変更又は提供の中止を行ったことに起因して利用者が損害を被ったとしても一切責任を負いません。

第6条(一般条項)

  1. 本利用規約の内容は、当社の都合により、変更・追加・訂正されることがあります。その場合、当社は原則として、変更する旨、変更内容及び効力発生時期を「ジャンルランキング 過去ランキングlogファイルのダウンロードページ」上に通知又は公表する方法により利用者に周知し、利用者は、本利用規約等の変更後に本件データを利用したことをもって、変更後の利用条件に同意したものとみなします。
  2. 本利用規約に定める条項の一部が強行法規への抵触その他の理由により無効とされた場合であっても、当該無効とされた条項以外の他の条項は有効に存続するものとします。この場合、当該無効とされた条項は、当初に意図された経済的目的が可能な限り達成できる有効な条項に当然に置き換えられるものとし、利用者は予め同意するものとします
  3. 利用者は、当社の書面による事前の同意なく、本利用規約上の地位又は本利用規約に基づく権利若しくは義務につき、第三者に対し、譲渡、移転、担保設定、その他の処分をすることができません。
  4. 当社は、本件データの提供に関する事業の全部又は一部を他社に譲渡した場合には、当該事業譲渡に伴い本利用規約上の地位、本利用規約に基づく当社の権利及び義務を当該事業譲渡の譲受人に譲渡することができるものとし、利用者は、かかる譲渡につき予め同意するものとします。
  5. 本利用規約は、日本法を準拠法とし、同法に基づいて解釈されます。本利用規約及び利用者による本件データの利用に起因又は関連して生じた一切の紛争・問題については、東京地方裁判所を第一審の専属的合意管轄裁判所とします。本利用規約は全て日本語により表示され、日本語のみにより解釈されます。

ランキング過去ログファイルの概要

ランキング過去ログファイルを利用していただくと、以下の情報を取得することができます。

  • ある日に存在していた「ジャンル」と、「ジャンルごとの人気のタグ」の一覧。また、その日の「ジャンル」または「人気のタグ」の過去ランキングデータへのアクセスURL
  • ある日の全ジャンル・ジャンル別・人気のタグ別のランキング

過去ランキングlogファイルは、毎日0:00(JST)に生成を開始します。
ファイルに格納されている情報は0:00時点のものですが、実際にアクセスできるようになるまでしばらく(15分ほど)かかることがあります。

注意事項

  • 日時データおよび本ガイドに記載されている日時は、すべて日本標準時(JST)です。
  • 本データファイルは、広く利用していただくため、アクセスできるユーザーに制限を設けていません。
    そのため、短時間に多量のアクセスを行った場合、正常にlogファイルにアクセスできなくなることがあります。
    また、場合によっては本データの提供を中止させていただくこともあります。ご利用の際は、負荷へのご配慮をお願いいたします。

技術情報

エンドポイント

ランキング過去ログファイルの取得用エンドポイント

ランキング過去ログファイルを取得するには、以下の形でURLにアクセスします。

https://dcdn.cdn.nimg.jp/nicovideo/old-ranking/{取得するランキングの種類}/{取得したい日付}/{ログファイルの種類}

取得するランキングの種類

daily, weekly, monthly, total の4種類。

取得するランキングの種類 説明
daily 集計期間が24時間のランキングを取得する場合に指定
weekly 集計期間が週間のランキングを取得する場合に指定
monthly 集計期間が月間のランキングを取得する場合に指定
total 集計期間が全期間のランキングを取得する場合に指定

取得したい日付

yyyy-mm-dd形式で表記。
例: 2019年6月30日の場合、 2019-06-30 と指定する。

ただし、ランキングの種類に応じて、以下の制約がある。

取得するランキングの種類 制約
daily 2019-06-12 以降、任意の日付を指定可能
weekly 2019-06-17 以降、毎週月曜日のみ指定可能
monthly 2019-07-01 以降、毎月1日(初日)のみ指定可能
total 2019-06-12 以降、任意の日付を指定可能

午前5時のログファイル

可能な場合、午前0時に生成されるランキング過去ログファイルに加えて、24時間ランキング(daily)および全期間ランキング(total)のみ、午前5時にもランキング過去ログファイルを生成します。
午前5時に生成されるランキング過去ログファイルを利用すると、スナップショット検索API(v2)の集計開始時刻がおよそ5時であることから、ランキング過去ログファイルとスナップショット検索APIのつきあわせを行った際の精度を向上させることができます。

yyyy-mm-dd_05形式で表記。
例: 2019年6月30日の場合、 2019-06-30_05 と指定する。

※ スナップショット検索API(v2)によって取得できるデータとの差違がないことを保証するものではありません。
※ 午前0時のログと違い、午前5時のログはかならずしも生成を保証しません。 たとえばメンテナンスや障害発生時に、午前5時のログは生成されない可能性があります。

ログファイルの種類

ジャンルランキングでは、ランキング集計対象である「ジャンル」と「人気のタグ」が、将来的に変更される可能性があります。
そこで、ランキング自体のファイルとは別に、「任意の日付において集計対象であった、ジャンルと人気のタグの一覧」を取得することができます。

ログファイルの種類 説明 ファイル名の例
file_name_list.json その日に集計対象だったジャンルとタグの一覧が記載されているファイル file_name_list.json のみ
{ジャンル}.json ジャンルのランキングが記載されているファイル entertainment.jsoncooking.json など
{ジャンル}_{01から始まる連番}.json ジャンル別の、人気のタグのランキングが記載されているファイル entertainment_01.jsonentertainment_02.json など

アクセス例

例1. 2019年6月26日 の、 全ジャンル総合24時間ランキング を取得したい

例2. 2019年6月17日(月曜)から2019年6月23日(日曜)まで の、 動物ウィークリーランキング を取得したい

例3. 2019年6月26日 の、 エンターテイメント ジャンルの人気のタグである、 バーチャル タグの 24時間ランキング を取得したい

※ 上記URLはアクセス手法を示すための例示であり、 entertainment_01.json が常に バーチャル タグを示すことを保証するものではありません。

ログファイルのデータフォーマット

file_name_list.json

「ジャンル」と、「ジャンルごとの人気のタグ」の一覧ファイル(file_name_list.json)のフォーマットは以下の通りです。

フィールド名 説明 必ず値が入っているか
genre ジャンル名 string YES 全ジャンルエンターテイメント など
tag 人気のタグ名 string または null NO 歌ってみたもっと評価されるべき など
人気のタグではなく、ジャンル名そのものを示すときはnullが入る
file ファイルへのパス string YES entertainment_01.json など

{ジャンル}.json および {ジャンル}_{01から始まる連番}.json

ランキング過去ログファイル({ジャンル}.json や {ジャンル}_{01から始まる連番}.json)のフォーマットは以下の通りです。

フィールド名 説明 nullになりうるか
id 動画ID string NO sm9
title 動画タイトル string NO 新・豪血寺一族 -煩悩解放 - レッツゴー!陰陽師
registeredAt 投稿日時 string(ISO-8601形式) NO 2007-03-06T00:33:00+09:00
count 再生数・コメント数などが格納されたオブジェクト object (N/A) (N/A)
count.view 再生数 int NO 17981514
count.like いいね!数 int NO 8770
count.comment コメント数 int NO 4827749
count.mylist マイリスト数 int NO 176308
thumbnail サムネイルURLが格納されたオブジェクト object (N/A) (N/A)
thumbnail.url 通常サイズのサムネイルURL string YES http://tn.smilevideo.jp/smile?i=9
thumbnail.middleUrl 中サイズのサムネイル URL string または null YES null(存在しないこともあります)
thumbnail.largeUrl 大サイズのサムネイル URL string または null YES null(存在しないこともあります)

ファイルサンプル

以下のファイルはデータフォーマットの参考用であり、実際のランキングデータとは異なります。

「ジャンル」と、「ジャンルごとの人気のタグ」の一覧ファイルのサンプル
サンプル用 file_name_list.json

ランキング過去ログファイル のサンプル
サンプル用 entertainment.json
サンプル用 entertainment_01.json

FAQ

Q1. 取得できるランキング過去ログファイルには、順位の数値が含まれていません。なぜですか?

視聴環境ごとにランキング順位が異なる可能性があるため、ランキングのスコアの並び順だけを提供しています。

スマートフォンなどの一部環境では、プラットフォームの規約上、ユーザーさんに閲覧していただくことができない動画が存在します。
そういった環境では、表示できない動画のぶんを詰めて、ランキング順位を表示しています。
つまり、「PC版動画ランキングの24時間総合1位」と「スマートフォンブラウザ版動画ランキングの24時間総合1位」「Nintendo Switch版動画ランキングの24時間総合1位」がすべて違う動画である可能性もあるのです。
そういった背景から、ランキング過去ログファイルに順位の数値を含めることは適切ではないと考えています。

なお、過去ログファイル内の動画の並び順はランキングスコアに基づいています(順不同ではありません)。

Q2. 人気のタグごとのランキングのファイル名は、なぜ連番なのですか? タグ名のほうが分かりやすいのですが。

人気のタグの名前にはURLとして表現できない・紛らわしい文字が採用される可能性があるため、連番の数値にさせていただきました。

Q3. 人気のタグごとのランキングのファイルのURLは、ずっと同じURLですか?

いいえ。{ジャンル}_{01から始まる連番}.json の連番は、人気のタグの人気順に割り振られます。人気のタグごとにURLが固定されているわけではありません。

たとえば、ある日に「バーチャル」が entertainment_01.json だったとしても、その後もずっと「バーチャル」タグのランキングが entertainment_01.json で生成されるとは限りません。

Q4. ランキング過去ログファイルに、削除された動画や非公開動画が含まれているのですが? (2022年10月28日追記)

2022年9月12日時点から、ランキング集計時に削除されている動画が含まれていた場合、集計にそのまま残すように仕様を変更いたしました。
これは、投稿される動画が増え続けている中、削除動画を集計対象から除外する処理を維持することが難しくなっており、動画ランキングを安定して継続運用するために仕様を変更したものとなります。従前と挙動が変わることになりますが、ご理解いただけますと幸いです。

[削除動画/非公開動画の情報について]
titleは代替文言が格納され、thumbnailオブジェクト内に記載されるサムネイルURLは「video_deleted.jpg」(もしくは video_deleted_[サイズ].jpg )になります。
格納されている情報の内容は、予告なく変更させていただく可能性があります。ご利用の場合はご留意ください。

補足

運用上発生した、非正規なデータについて補足します。

2019年9月27日:0時のデータが5時と同じ

2019年9月27日の午前0時の過去ランキングデータについて、正しく生成することができませんでした。
再度生成を試みたのですが、生成が完了したのが午前5時すぎであり、このままでは「5時のデータより新しい状態のデータが0時のログになってしまう」ため、特例として午前5時のデータを午前0時のものとしてコピーすることにしました。
そのため、2019年9月27日のランキング過去ログファイルは、午前0時と午前5時で同じ内容になっています。

2020年3月23日:0時のデータが5時と同じ

2020年3月23日の午前0時の過去ランキングデータについて、正しく生成することができませんでした。
再度生成を試みたのですが、生成が完了したのが午前5時すぎであり、このままでは「5時のデータより新しい状態のデータが0時のログになってしまう」ため、特例として午前5時のデータを午前0時のものとしてコピーすることにしました。
そのため、2020年3月23日のランキング過去ログファイルは、午前0時と午前5時で同じ内容になっています。

2021年7月30日:「いいね!」数フィールドを追加

2021年7月30日の過去ランキングデータより、「いいね!」数をあらわす「count.like」カラムを追加しました。 2021年7月29日以前のデータにはカラムがありませんのでご注意ください。

2021年12月18日:0時のデータが5時と同じ

2021年12月18日の午前0時の過去ランキングデータについて、正しく生成することができませんでした。
再度生成を試みたのですが、生成が完了したのが午前5時すぎであり、このままでは「5時のデータより新しい状態のデータが0時のログになってしまう」ため、特例として午前5時のデータを午前0時のものとしてコピーすることにしました。
そのため、2021年12月18日のランキング過去ログファイルは、午前0時と午前5時で同じ内容になっています。

2022年4月5日~6日:ランキングが正常に集計されなかった

2022年4月4日 午前6時頃から発生した障害の影響により、 以下のランキング過去ログファイルの内容がおかしくなっています。
以下の3つのファイルは、ランキング過去ログデータとして利用しないことを推奨します。

  • 2022年4月5日 午前0時
  • 2022年4月5日 午前5時
  • 2022年4月6日 午前0時