ニコニコから提供・確認済のAPIを用いて動画情報を採取する方法単語

ニコニコカラテイキョウカクニンズミノエーピーアイヲモチイテドウガジョウホウヲサイシュスルホウホウ
3.5千文字の記事
  • 2
  • 0pt
掲示板へ

ニコニコ動画現在提供・確認されているAPIを複数用いて必要な動画情報再生数・コメント数等の範囲検索、及びタイトルジャンル名等)を採取する方法を簡単にめています。今回使用するAPIは下記の通りです。

キリ番達成の確認(VOCALOID殿堂入りミリオン達成)、対動画の件数確認、ニコニコ生放送での動画引用リスト作成等を使う的として参考までにご利用下さい。

『スナップショット検索API v2』で対象動画を採取

まずニコニコ運営から公式提供されているスナップショット検索APIを使います。

ニコニコ動画 『スナップショット検索API v2』 ガイドexit

各パラメータの使い方は下記の通りです。

検索キーワード(q)
  →検索したいキーワードを数指定。
    例)Aのみ
       q=A
    例)AかつBのみ
       q=A B
    例)A又はBのみ
       q=A OR B
    例)Aは含むが、Bは含まない場合指定(除外は"-"を使います)
       q=A -B
    例)キーワー無し
       q=

検索フィールドtargets)
  →title(タイトル),description(説明文),tags(タグ),tagsExac(タグ完全一致)指定。
   キーワーし検索の場合のみ省能。
    例)タグ完全一致検指定
       targets=tagsExac

ソート順(_sort
  →"viewCounter"(再生数)や"commentCounter"(コメント数)等を使用。
   昇順の場合は頭に"+"、降順の場合は頭に"-"を付加。
    例)再生数を昇順で並び替え
       _sort=-viewCounter
   (※上記以外の目での並び替えが必要な場合はガイド参照)

検索条件(filters)
  →"viewCounter"(再生数)か"commentCounter"(コメント数)で検索範囲設定。
    例)再生数が5万以上10万以下まで
       filters[viewCounter][gte]=50000&
       filters[viewCounter][lte]=100000
  (※上記以外の目での条件が必要な場合はガイド参照)

・返ってくるコンテンツの最大数(_limit)
  →100固定

・返ってくるコンテンツの取得オフセット(_offset
  →(何ペー目-1)×100+1

レスポンス値(fields)
  →下記の目を採取選択
    ・"contentId"(動画ID)
    ・"title"(タイトル)
    ・"viewCounter"(再生数)
    ・"commentCounter"(コメント数)
    ・"startTime"(投稿日時)
   例)動画ID、タイトル再生数、投稿日時の情報が欲しい場合
      fields=contentId,title,viewCounter,startTime
  (※上記以外の目が必要な場合はガイド参照)

例)定したパラメータで再生数又はコメント数を降順で範囲内のデータを採取。

[検索キーワード]=キーワード
[検索フィールド]=対フィールド
[検索]="viewCounter"(再生数)又は"commentCounter"(コメント数)
[上限]=数値
[下限]=数値
[何ページ]=1以上

[API_URL]="http://api.search.nicovideo.jp/api/v2/snapshot/video/contents/search?q=[検索キーワード]&targets=[検索フィールド]&_sort=-"&[検索]&"&fields=contentId,"&[検索]&",title,startTime&_limit=100&filters["&[検索]&"][gte]="&[下限]&"&filters["&[検索]&"][lte]="&[上限]&"&_offset="&([何ページ]-1)*100+1

EXCELで行う場合はWEBSERVICE関数を使います。

[採取データ]=WEBSERVICE([API_URL])

※なお検索キーワードや昇順順序定する場合は予めその文字列を必ずエンコード関数(ENCODEURL)で変換願います。

・[エンコード処理済の文字列]=ENCODEURL([エンコード処理前の文字列])

『スナップショット検索API v2』採取情報から必要な項目を抜粋

スナップショット検索APIで採取した情報から必要な項を抜します。データJSON形式となる為、上記条件を例にした場合、採取した動画情報データは下記の通りとなります

{"contentId":"sm26515642","viewCounter":9854502,"title":"【血界戦線ED】シュガーソングとビターステップ歌ってみた まるぐり","startTime":"2015-06-18T20:00:49+09:00"}

EXCELで個別にデータ採取する場合

例えば動画ID("contentId")を採取したい場合、「"contentId":"」から次の「"」までの間の値を抜する必要があるので、EXCEL上ではMID関数SEARCH関数を用いて下記の通り行います。かなり複雑な為、計算式は一文で行わず複数のセルに分けて行うと良い。

[contentIdがあった最初の桁数]=SEARCH("contentId"":""",[採取データ])
[動画IDの次の桁数]=SEARCH(””””,[採取データ],[contentIdがあった最初の桁数]
+LEN("contentId"":""")))
[動画ID]=MID([採取データ],[contentIdがあった桁数]+LEN("contentId"":"""),[動画IDの次の桁数]-[contentIdがあった桁数]-LEN("contentId"":"""))

なお投稿日時を"yyyy/mm/dd hh:mm:ss"形式に変換したい場合は下記の通りにします。

・[投稿日時]=DATE(INT(MID([startTime値],1,4)),INT(MID([startTime値],6,2)),INT(MID([startTime値],9,2)))+TIME(INT(MID([startTime値],12,2)),INT(MID([startTime値],15,2)),INT(MID([startTime値],18,2)))

『getthumbinfo』でリアル情報を採取

ここまで採取した情報再生数・コメント数等)はリアルな数値ではありませんので、先程採取した動画IDから今度は『getthumbinfo』という非APIを使用します。

ニコニコAPIリストwiki 『getthumbinfo 』 exit

パラメータは下記の通りです。

[getthumbinfo_URL]="https://ext.nicovideo.jp/api/getthumbinfo/"&[動画ID]

EXCELで行う場合はWEBSERVICE関数を使います。

[リアル情報]=WEBSERVICE([getthumbinfo_URL])

リアル情報から必要な項を採取する場合はFILTERXML関数を使います。

再生数の場合
  FILTERXML([リアル情報],"//view_counter")
コメント数の場合
  FILTERXML([リアル情報],"//comment_num")
ユーザーIDの場合
  FILTERXML([リアル情報],"//user_id")
ユーザー名の場合
  FILTERXML([リアル情報],"//user_nickname")
タグ名(1件)の場合
  FILTERXML([リアル情報],"//tag[1]

採取した情報からハイパーリンクで直接リンク(EXCEL限定)

ここではEXCEL上からWEBへ直接リンクしたい場合を記載しています。

EXCEL上ではHYPERLINK関数を使います。

ニコニコ動画ページの場合
  HYPERLINK("https://www.nicovideo.jp/watch/"&[動画ID],"動画ページへ"))
ユーザーページの場合(ニコレポ
  HYPERLINK("https://www.nicovideo.jp/user/"&[ユーザーID],[ユーザ名])

関連項目

【スポンサーリンク】

  • 2
  • 0pt
記事編集 編集履歴を閲覧

ニコニ広告で宣伝された記事

洩矢諏訪子 (単) 記事と一緒に動画もおすすめ!
提供: 核砂糖入り紅茶
もっと見る

この記事の掲示板に最近描かれたお絵カキコ

お絵カキコがありません

この記事の掲示板に最近投稿されたピコカキコ

ピコカキコがありません

ニコニコから提供・確認済のAPIを用いて動画情報を採取する方法

まだ掲示板に書き込みがありません…以下のようなことを書き込んでもらえると嬉しいでーす!

  • 記事を編集した人の応援(応援されると喜びます)
  • 記事に追加して欲しい動画・商品・記述についての情報提供(具体的だと嬉しいです)
  • ニコニコから提供・確認済のAPIを用いて動画情報を採取する方法についての雑談(ダラダラとゆるい感じで)

書き込みを行うには、ニコニコのアカウントが必要です!