ニコニコ動画ダウンロードAPI:「この動画を登録しているマイリスト」取得機能
動画IDを指定して、その動画を登録しているマイリストの一覧を取得することができます。
nv = Nicovideo.new(account['mail'], account['password']) # Nicovideoオブジェクトの生成 openlist = nv.openlist(video_id) # OpenListオブジェクトの取得
1ページで取得可能なマイリストの最大個数は10個なので、全てを取得したい場合は以下のnextメソッドなどを使ってループにより順次取得するようにします。
メソッド
- mylists:マイリストを配列で返します(最大10個)
- total_size:登録マイリスト総数を返します
- has_next?:次のマイリストがあるかどうかを返します(boolean)
- has_prev?:前のマイリストがあるかどうかを返します(boolean)
- next:次のマイリスト10個を取得します
- prev:前のマイリスト10個を取得します
- pagenum=:指定したページのマイリストを取得します
サンプル
引数に動画のIDを指定して、その動画を登録しているマイリストを全て表示します。
#! /usr/bin/env ruby -Ku require 'rubygems' require 'nicovideo' require 'yaml' exit if ARGV.size != 1 video_id = ARGV.shift account = YAML.load_file(ENV['HOME'] + '/.nicovideo/account.yml') nv = Nicovideo.new(account['mail'], account['password']).login ol = nv.openlist(video_id) if ol.total_size > 0 while (true) ol.mylists.each {|ml| puts ml.title + ':' + ml.url } break unless ol.has_next? sleep 1 ol.next end end
そしてマイリストからまた動画IDをとってきて…とループすればマイリストや掘り出し物動画がざっくざく?!
変更履歴など
こちらを参照ください→ニコ動ダウンロード用ライブラリがgemコマンドでインストールできるようになりました