ニコニコ動画 Python APIプロジェクト
というわけで、SourceForge.JPに申請を行ってきた。
ニコニコ動画向けの処理をAPIとして共有しようって試み。
認証辺りは大体書き終わったので、XMLのパースとか実装してくれる人がいると嬉しい。
リファレンス
クラス nicoapi()
はじまり。
login_s(myac,pw[, ua])
"https://secure.nicovideo.jp/secure/login"へのログイン試行。myac=MyAccountID,pw=MyAccountPassword,ua=User-Agent(デフォ値="Mozilla/4.0")。戻り値はログイン後のcookieを噛んでるurllib2.build_opener。
upmov(opener,filename,scr)
動画のアップロード。openerにはlogin_s()の戻り値。filenameにアップロードするファイルのローカルパス。scrはアスペクト比 (0=4:3,1=16:9)。アップロードするだけで動画の公開は行わない。今後改良予定。
getThumbnail(id)
動画のサムネイル取得。idにはsmで始まる動画IDまたはsmを除去した動画ID。戻り値はサムネイル画像のURL。複数の動画サムネイルを取得したい場合はListで(戻り値もList)。ex)nicoapi.getThumbnail([sm111111,sm212121,sm342422])
login_n(myac,pw[, ua])
"https://secure.nicovideo.jp/secure/login?site=niconico"へのログイン試行。getFlvとか呼ぶ場合にはこっちでログイン。myac=MyAccountID,pw=MyAccountPassword,ua=User-Agent(デフォ値="Mozilla/4.0")。戻り値はログイン後のcookieを噛んでるurllib2.build_opener。
getFlv(opener,id,filepath)
動画(.flv)をダウンロード、保存。openerにはlogin_n()の戻り値。idはsmで始まる動画ID。filepathは.flvファイルの保存先(環境によっては存在しないファイルを作成できないかも)。
使い方
import nicoapi nc = nicoapi() # 動画ダウンロード opener = nc.login_n("[email protected]","******") nc.getFlv(opener, "sm903884", "/home/user/school.flv") # こう書いてもいいし nc.getFlv(nc.login_n("[email protected]","******"), "sm903884", "/home/user/school.flv") # サムネイルURL取得 list_url = nc.getThumbnail("sm903884") print list_url # http://tn-skr.smilevideo.jp/smile?i=903884
こんな感じで。
一応ここまでのソース公開。
http://codepad.org/gf9M5Lw1
http://codepad.org/68p9nNIR
プロジェクトが許可されなくても気が済むまで書くつもり。
追記
活動状況について
カテゴリを追加しました。こちらをご覧ください。
http://d.hatena.ne.jp/techlabo/searchdiary?word=%2a%5bnicoapi%5d