ニコニコの新検索の特徴:動画編

追記 2015年12月16日
2015年11月にこの記事の方法は非推奨になったのでコンテンツ検索API V2を使う。
コンテンツ検索API V2 について

新検索β | niconico

2014年11月17日の昼くらいから1601件目以降を選択("from":1601)すると 301 エラーが返ってきて応答がない不具合があり報告済みだがまだ直っていない。その後はドキュメントでも1600までとなったので不具合ではなく仕様になった。

続報:新検索で24時間ランキングが見られるように

ニコニコの新検索の特徴:生放送編

特徴


  • バージョンに縛りがないので Q でも、原宿でも使うことができる
  • ログインしていなくても使える
  • 検索結果の表示がとても早い
  • アクセス制限がないらしい
  • 検索ワードの入力段階でサジェスト機能がある
  • 各サービスへの横断検索ができるがコモンズには対応していない
    対応サービス(動画、生放送、イラスト、マンガ、電子書籍、チャンネル、ブロマガ)
    2013年08月01日:新検索βテスト中!ブロマガも追加!‐ニコニコインフォ
  • json形式でのPOSTに対応しているのでアプリ連携が手軽
  • 各サービスによってはソート方法が異なるのでjsonの書き方に注意
  • 再生数100万以上の~タグの動画数を調べるのがjson形式の利用でとても手軽になる


仕様書


niconicoコンテンツの横断検索APIを「Mashup Awards 9」「ソーシャルかぶコン2013」に提供:dwango エンジニア ブロマガ:ドワンゴ研究開発チャンネル(ドワンゴグループのエンジニア) - ニコニコチャンネル:生活
Mashup Awards 9及び関連イベント向け提供APIガイド

2014/4/9 よりリダイレクトされるようになった
HTML5 Japan Cup向け提供APIガイド

2014/8/13 よりリダイレクトされるようになった
Mashup Awards 10向け提供APIガイド
POST先:http://api.search.nicovideo.jp/api/

JSON整形サービス を使った。

POST内容整形したもの
{
"filters": [
{
"field": "ss_adult",
"type": "equal",
"value": false
}
],
"from": 0,
"issuer": "pc",
"join": [
"cmsid",
"title",
"description",
"thumbnail_url",
"start_time",
"view_counter",
"comment_counter",
"mylist_counter",
"channel_id",
"main_community_id",
"length_seconds"
],
"order": "desc",
"query": "町会議",
"reason": "ma10",
"search": [
"tags"
],
"service": [
"video"
],
"size": 25,
"sort_by": "_popular",
"timeout": 10000
}


cURL のサンプルコマンド(トリプルクリックで全選択できます)
curl -v "Accept: application/json" -H "Content-type: application/json" -X POST -d '{"filters": [{"field": "ss_adult","type": "equal","value": false}, {"field": "start_time","from": "2007-03-06 00:00:00","include_lower": true,"include_upper": true,"to": "2014-09-11 23:59:59","type": "range"}, {"field": "length_seconds","from": 0,"include_lower": true,"include_upper": true,"to": 120,"type": "range"}, {"field": "user_id","from": 1000,"include_lower": true,"include_upper": true,"to": 1000000,"type": "range"}, {"field": "view_counter","from": 1000,"include_lower": true,"include_upper": true,"to": 10000,"type": "range"}, {"field": "comment_counter","from": 100,"include_lower": true,"include_upper": true,"to": 1000,"type": "range"}, {"field": "mylist_counter","from": 100,"include_lower": true,"include_upper": true,"to": 200,"type": "range"}], "from": 0, "issuer": "apiguide", "join": ["cmsid", "title", "description", "thumbnail_url", "start_time", "view_counter", "comment_counter", "mylist_counter", "channel_id", "main_community_id", "length_seconds", "tags"], "order": "desc", "query": "初音ミク", "reason": "ma10", "search": ["title", "description", "tags"], "service": ["video"], "size": 1, "sort_by": "view_counter"}' http://api.search.nicovideo.jp/api/


より詳しい内容(json はコメントを書けないのでこれをコピペするとエラーになる)
PITACore Box-ブロマガ@がんばらない - ブロマガ を参考にした
追記 2013/08/30 "sort_by": "user_id" 昇順降順でソートが可能、生放送では使えない
{
"filters": [
{
"field": "ss_adult",
"type": "equal",
"value": false
},
{
"field": "start_time", // 投稿日時で検索する
"from": "2013-07-15 00:00:00",
"include_lower": true, // true, false / from 値を含むかどうか 設定の削除は true 扱い
"include_upper": true, // true, false / to 値を含むかどうか 設定の削除は true 扱い
"to": "2013-07-18 23:59:59",
"type": "range"
},
{
"field": "length_seconds", // 再生時間で検索する
"include_lower": true,
"include_upper": true,
"from": 0, // ~秒から1秒単位(片方は省略可能)
"to": 120, // ~秒まで1秒単位(片方は省略可能)
"type": "range"
},
{
"field": "music_download", // 音楽ダウンロードDL対応、サービスが終了したので指定するとエラーになる
"type": "equal",
"value": true
},
{
"field": "user_id", // ユーザーID検索、ウェブ上ではない仕様
"from": 1000,
"include_lower": true,
"include_upper": true,
"to": 10000,
"type": "range"
},
{
"field": "view_counter", // 再生数で検索、ウェブ上ではない仕様
"from": 1000,
"include_lower": true,
"include_upper": true,
"to": 10000,
"type": "range"
},
{
"field": "comment_counter", // コメント数で検索、ウェブ上ではない仕様
"from": 100,
"include_lower": true,
"include_upper": true,
"to": 1000,
"type": "range"
},
{
"field": "mylist_counter", // マイリスト数で検索、ウェブ上ではない仕様
"from": 100,
"include_lower": true,
"include_upper": true,
"to": 200,
"type": "range"
}
],
"from": 0, // 開始番号 0 なら最初から 100 なら 101件目から
"issuer": "pc", // モバイル端末だと sp / "サービス/アプリケーション名"を明記
"join": [ // これらの内容の返事がある
"cmsid",
"title",
"description",
"thumbnail_url",
"start_time",
"view_counter",
"comment_counter",
"mylist_counter",
"channel_id",
"main_community_id",
"length_seconds",
"tags" // これを追加すると返事にタグが付いてくる
],
"order": "desc", // desc, asc / 昇順 降順
"query": "test", // 検索キーワード
"reason": "ma10",
"search": [
"title",
"description",
"tags" // タグ検索は tags だけ、キーワード検索はこの3つ
],
"service": [
"video" // サービス識別子 live, video, illust, manga, book, channel, channelarticle, news
],
"size": 25, // 1ページに表示する件数。1 から 100 まで。PCは25件、モバイルは15件
"sort_by": "_popular"
// 並び替えの基準となるフィールド名 last_comment_time, view_counter, comment_counter, mylist_counter, start_time, length_seconds, user_id
"timeout": 10000 // タイムアウト時間、多分ミリ秒
}


GET内容を整形した物の例、タグは返ってこないが、join で tags を追加すると返ってくる
join を1つだけにした場合は返事が一つの配列に入っているが、2つ以上の場合は最大で4分割される
{
"_rowid": 0, // 何番目の表示
"channel_id": false, // チャンネル動画かどうか そうであればチャンネルIDの数字
"cmsid": "sm9", // 動画ID
"comment_counter": 4144528, // コメント数
"description": "レッツゴー!陰陽師(フルコーラスバージョン)", // 動画説明文
"length_seconds": 319, // 動画時間(秒)
"main_community_id": false, // コミュニティ動画かどうか そうであればコミュIDの数字
チャンネル動画にもかかわらずチャンネルIDではない値が返ってくるが詳細不明
"mylist_counter": 133476, // マイリスト数
"start_time": "2007-03-06 00:33:00", // 投稿時間
"thumbnail_url": "http://tn-skr.smilevideo.jp/smile?i=9", // サムネURL
"title": "新・豪血寺一族 -煩悩解放 - レッツゴー!陰陽師", // 動画タイトル
"view_counter": 13491464// 再生数
"tags": "陰陽師 レッツゴー!陰陽師 公式 音楽 ゲーム 最古の動画 β時代の英雄 DAM&JOY配信中 sm9 弾幕不足"
// join で tags を指定した場合に返事あり
}


関連記事
ニコニコ新検索ができたらしい:PITACore Box-ブロマガ@がんばらない - ブロマガ
niconicoの新検索βのサジェストAPI - while(true) create();
関連記事

コメント

非公開コメント

プロフィール

ロベルト

お問い合わせはこちらまで
robelt2525[at]gmail.com

中の人 @nico_lab

広告リンク
Amazon
楽天市場

ブログ更新用 @blo_nico_lab

詳しいプロフィールはこちら

当ブログは、Amazonアソシエイトに参加しています。