にたまごほうれん草アーカイブ

はてなダイアリーで書いてた「にたまごほうれん草」という日記のアーカイブです。現在は「にたまごほうれん草ブログ」を運営中です。

ニコニコ動画ダウンロードAPI:マイリスト取得機能

以下のように、マイリストIDを公開マイリストのIDを指定することで、当該マイリストIDのMyListインスタンスを取得します。

nv = Nicovideo.new(account['mail'], account['password']) # Nicovideoオブジェクトの生成
mylist = nv.mylist(mylist_id)  # MyListオブジェクトの取得

メソッド

  • url:マイリストのURL
  • title:マイリストのタイトル
  • user:マイリストを作成したユーザ名
  • description:マイリストのユーザコメントです
  • videos:マイリストに登録されている動画のVideoPageオブジェクトを配列にして返します。この時点では、VideoPageオブジェクトは動画のIDとタイトルは保持していますが、ここの動画ページの取得は行っていません
  • rss:公開マイリストのRSSオブジェクトです

サンプル

以下のサンプルでは、引数に公開マイリストを指定して、そこにある動画を全部ダウンロードして保存します。

#! /usr/bin/env ruby -Ku
require 'rubygems'
require 'nicovideo'
require 'yaml'

exit if ARGV.size != 1
mylist_id = ARGV.shift

account = YAML.load_file(ENV['HOME'] + '/.nicovideo/account.yml')
nv = Nicovideo.new(account['mail'], account['password'])

nv.mylist(mylist_id).videos.each {|v|
  sleep 3
  puts v.id + ' ' + v.title
  File.open("#{v.id}.flv", "wb") {|f| f.write v.flv }
}