• このエントリーをはてなブックマークに追加
コンテンツ検索API V2 について
閉じる
閉じる

新しい記事を投稿しました。シェアして読者に伝えましょう

×

コンテンツ検索API V2 について

2015-12-16 22:15
  • 10
  • 4

追記 2017年11月14日
「2017/10/04 検索対象のサービス から book を削除」とあるので削除した。

追記 2017年9月7日
ゲーム, 権利楽曲, 動画マイリスト の例を追加した。

追記 2017年5月20日
10番目のレスで教えてもらい API のドキュメントが新たに公開されていたのを追加した。

追記 2017年3月17日
「新検索β」終了のお知らせ|ニコニコインフォ より新検索ベータのウェブ上での検索が出来なくなったが、同時に以下のドキュメントのページも削除されトップページにリダイレクトされるようになった。

追記 2016年9月30日
startTime の仕様変更について。

niconico で使われている新検索βを js や PHP などから使う方法は2015年11月に非推奨になり、新しく V2 として公開された。今回の V2 の特徴はタグレポと同じようにブラウザから直接検索して json が返ってくるので誰でも手軽に利用できる。

新しいAPI:niconico コンテンツ検索APIガイド
新しいAPI:コンテンツ検索APIドキュメント(ドキュメント削除を確認 2017年3月17日)
従来のAPI:Mashup Awards 11向け提供APIガイド(ドキュメント削除を確認 2017年3月17日)
新しいスナップショットAPI:ニコニコ動画 『スナップショット検索API v2』 ガイド
従来のスナップショットAPI:ニコニコ動画 『スナップショット検索API』 ガイド(ドキュメント削除を確認 2017年3月18日)

タグレポの記事はこちら:新機能「タグレポ」について

今回の大きな特徴はブラウザからでも手軽に調べられるのと、従来のAPIでは一度に取得できるデータが100でそれが 3 4分割されていたのが分割されなくなったので従来よりも高速に処理できるが、取得上限が 1600 1700(offset が1600なのでそこから+100) なのは変わらないので期間を区切るなど取得方法を工夫する必要がある。アクセス制限については 0.5秒間隔なら現状上手くいっている。2016年1月17日くらいから0.5秒間隔だと途中で取得できなくなり0.6秒間隔で上手くいっている。現在(2016年6月以降)は 0.6 秒でも 0.9 秒でも止まることがあるので待ち時間の設定は 0.5 秒で止まればリトライするようにしている。

対応サービスは以前と同じように、動画、生放送、静画(イラスト)、静画(マンガ)、静画(書籍)、チャンネル、ブロマガ記事(著名人)、ニュースである。その後、2017年5月19日にゲームと権利楽曲、2017年8月13日に動画マイリストも検索できるようになった。

クエリパラメータも以前と同じで、検索キーワード、調べる方法(タイトル、説明文、タグ)、調べる内容、フィルタ、ソート方法、オフセットの指定、取得数の指定、アプリケーション名が指定できる。

必須クエリパラメータは q, targets, _sort, _context である。

サービス別の fields の設定可能・不可能のグラフ
ドキュメントでは fields の設定を省略できると書いてあるがどのサービスも省略できない。
追記 2017年8月22日、fields の省略について確かに省略は出来るが省略すると status, totalCount, id だけ返ってくる。この記事を書いた当時の記憶が曖昧なので省略したときにエラーが出たのかそれとも今と同じ仕様だったのか覚えていない。

1から順番に 1:video, 2:live, 3:illust, 4:manga, 5:book, 6:channel, 7:article, 8:news, 9:game, 10:license_search, 11:mylist_video

1 2 3 4 5 6 7 8 9 10 11
contentId 1 1 1 1 1 1 1 1 1 1 1
title 1 1 1 1 1 1 1 1 1 1 1
description 1 1 1 1 1 1 1 1 1 0 1
tags 1 1 1 1 1 1 1 1 1 0 0
categoryTags 1 1 1 1 0 0 0 0 0 0 0
viewCounter 1 1 1 1 1 0 0 0 0 0 0
mylistCounter 1 0 1 1 1 0 1 0 0 0 0
commentCounter 1 1 1 1 1 0 1 1 0 0 0
startTime 1 1 1 1 1 1 1 1 1 0 1
thumbnailUrl 1 1 1 1 1 1 1 0 0 0 0
communityIcon 0 1 0 0 0 0 0 0 0 0 0
scoreTimeshiftReserved 0 1 0 0 0 0 0 0 0 0 0
liveStatus 0 1 0 0 0 0 0 0 0 0 0


しかしドキュメントと読むと動画と生放送以外を調べるのに必要な説明が全く足りていないのでそれぞれのサンプルコマンドは以下のようにする。

limit は 0 にしても totalCount が返ってくるので総数を調べる場合に便利。

startTime について、2014-01-01T00:00:00+09:00 形式で POST する必要があったが、+09:00 部分はなくても良かった。それが 2016年9月12日の営業時間帯頃から仕様が変わって、それが必須項目になり + をエンコードして %2d にして 2014-01-01T00:00:00%2d00:00 形式で POST すると今まで通りの時間で返事がある。そして、時間指定がおかしかったのが 9月27日 までに直った。2014-01-01T00:00:00%2d09:00 形式で指定する。

動画
http://api.search.nicovideo.jp/api/v2/video/contents/search?q=初音ミク&targets=title&fields=contentId,title,description,tags,categoryTags,viewCounter,mylistCounter,commentCounter,startTime,thumbnailUrl&filters[viewCounter][gte]=1000000&_sort=-viewCounter&_offset=0&_limit=100&_context=apiguide

生放送
http://api.search.nicovideo.jp/api/v2/live/contents/search?q=%E3%82%A2%E3%83%8B%E3%83%A1%0d%0a&targets=tags&fields=contentId,title,start_time,live_end_time,comment_counter,score_timeshift_reserved,provider_type,tags,member_only,viewCounter,timeshift_enabled&_context=apiguide&filters%5BliveStatus%5D%5B0%5D=past&filters%5BstartTime%5D%5Bgte%5D=2008-01-01T00:00:00-09:00&filters%5BstartTime%5D%5Blt%5D=2030-04-01T00:00:00-09:00&_sort=-score_timeshift_reserved&_limit=100

静画(イラスト)
http://api.search.nicovideo.jp/api/v2/illust/contents/search?q=デイリーパンツ&targets=tags&fields=contentId,title,description,tags,categoryTags,viewCounter,mylistCounter,commentCounter,startTime,thumbnailUrl&_sort=viewCounter&_context=apiguide

静画(マンガ)
http://api.search.nicovideo.jp/api/v2/manga/contents/search?q=ワンパンマン&targets=tags&fields=contentId,title,description,tags,categoryTags,viewCounter,mylistCounter,commentCounter,startTime,thumbnailUrl&_sort=viewCounter&_context=apiguide

静画(書籍)、2017年10月4日に使えなくなった
http://api.search.nicovideo.jp/api/v2/book/contents/search?q=の&targets=title&fields=contentId,title,description,tags,viewCounter,mylistCounter,commentCounter,startTime,thumbnailUrl&_sort=viewCounter&_context=apiguide

チャンネル
http://api.search.nicovideo.jp/api/v2/channel/contents/search?q=ゲーム&targets=title&fields=contentId,title,description,tags,startTime,thumbnailUrl,&_sort=startTime&_context=apiguide

ブロマガ記事(著名人)
http://api.search.nicovideo.jp/api/v2/channelarticle/contents/search?q=PS4&targets=title&fields=contentId,title,description,tags,mylistCounter,commentCounter,startTime,thumbnailUrl,&_sort=startTime&_context=apiguide

ニュース
http://api.search.nicovideo.jp/api/v2/news/contents/search?q=ノーベル賞&targets=title&fields=contentId,title,description,tags,commentCounter,startTime,&_sort=startTime&_context=apiguide

ゲーム
http://api.search.nicovideo.jp/api/v2/game/contents/search?q=アドベンチャー&targets=title&_context=apiguide&_sort=-startTime&fields=contentId,title,description,tags,startTime

権利楽曲
http://api.search.nicovideo.jp/api/v2/license_search/contents/search?q=孤独のグルメ&targets=title&_context=apiguide&_sort=-startTime&fields=contentId,title

動画マイリスト
http://api.search.nicovideo.jp/api/v2/mylist_video/contents/search?q=初音ミク&targets=title&_context=apiguide&_sort=-startTime&fields=contentId,title,description,startTime
×
json が返ってくるのすき
24ヶ月前
×
>>1
せやな
24ヶ月前
×
ドキュメントでfieldは省略可能yesになってるけどvideo検索で省略すると400エラーになるです。
18ヶ月前
userPhoto
ロべルト
×
>>3
video検索 に限らず全てのサービスでfieldは省略不可能だった。
18ヶ月前
×
startTime の string (ISO8601形式) って3日前から変わりましたか?
教えて詳しい人!!
15ヶ月前
userPhoto
ロべルト
×
>>5
2014-01-01T00:00:00+09:00 ではなくて
2014-01-01T00:00:00%2b00:00 にすれば正しい時間で返事があるようです
9時間プラスではなく0時間プラスです
15ヶ月前
×
ニコニコ静画(マンガ)で正しいサムネURLが取得出来ないのですが・・・
14ヶ月前
userPhoto
ロべルト
×
>>8
thumbnailUrl で http://lohas.nicoseiga.jp/thumb/mg_thumb/0q がどのマンガにも返ってきますね。
非公式の設定でサムネイルを取得することは可能だが、禁止事項に当たるのでここでは書けません。
http://search.nicovideo.jp/manga/search/ は v1 を使っているがこれを調べると分かるかもしれません。
14ヶ月前
×
http://site.nicovideo.jp/search-api-docs/search.html
7ヶ月前
×
http://api.search.nicovideo.jp/api/v2/snapshot/video/contents/search?q=test&targets=tagsExact&_sort=viewCounter&_context=apiguide

今叩くと, fields 省略できるみたい? (仕様変わった?)
3ヶ月前
コメントを書く
コメントをするには、
ログインして下さい。