ニコニコ動画の動画ファイルを取得する方法が変更されていたんだね
※:この記事は2009年10月28日までのニコニコ動画(ββ)についてです。2009年10月29日からのニコニコ動画(9)については、こちらの記事に書きましたのでご参照ください。
拙作ニコニコ動画検索支援ツール「和魂(にこみたま)」で「【初音ミク】1/6【オリジナル】」の動画をダウンロードしようとしたのだが、”リモートサーバーがエラーを返しました:(403) 使用不可能”のエラーが発生してしまう。
ある日付以降(上記の動画は5月7日投稿)のNiconico Movie Makerで作成された動画は、それ以前の動画ダウンロード手順とは変わってしまったらしい。
検索してみると[ bROOM.LOG ! ] ( °o°) さんの「【ニコニコPodder】 ニコニコPodder R1.0.15をリリースしました」でActionScript3に対応した変更がなされているということがわかった。
FireFoxで動画ページを開いて、Firebugの”接続”に出力されている発行しているURLを見てみると、動画情報を取得するURLが変更されている・・・。
今までは、以下のようにしていた。
(1)以下のURLで動画頁を開く(通常動画頁を見るときのURLを使う)
http://www.nicovideo.jp/watch/<動画番号>
※:<動画番号>は、sm99999999 や nm9999999 といった動画につけられるユニークな番号
一旦、動画頁を開かないと次の動画情報が取得できない。クッキーを使ってセッションを管理していたと記憶しているのだが、忘れちった。「和魂」のプログラムを読んでくれ。
(2)http://www.nicovideo.jp/api/getflv?v=<動画番号> で、動画情報を取得する
(3)動画情報の”url=”の後の文字列をURLエンコードしたものをURLとして開く
これにより、動画ファイル(FLVやSWF)がダウンロードされる。
※:例えば”http%3A%2F%2Fsmile-clb51.nicovideo.jp%2Fsmile%3Fs%3D6971638.27795”とあるので。%3Aは":"、%2Fは"/"という風に置き換える。なお、"6971638.27795"はセッション番号なので動画頁を開くたびに変化する。
んで、今日確認したところでは、(2)のURLが変わり、NMMの場合だと(3)のURLも少し変わっていることが確認できた。
(2)のURLは、 http://www.nicovideo.jp/api/getflv/<動画番号>?ts=99999999999&as3=1 という風になっている。”ts=”の後の数値は何を意味しているのか不明(99999999999というのは11桁の数字ということで、実際にこの定数となるわけではない)。”ts=99999999999”は無くても動画情報の取得は可能。つまり http://www.nicovideo.jp/api/getflv/<動画番号>?as3=1 でもよいみたい。
なお、動画頁を開くのに失敗したとき、”旧プレイヤーで視聴する”というモノが出るが、これで開いた動画頁で発行される動画情報取得URLも旧方法のものと違い http://www.nicovideo.jp/api/getflv/<動画番号>? となっている。
また、旧プレイヤーで開いた動画頁URLは、最後に”?oldplayer=1”が付く。
(3)は、NMMの場合、http://smile-clb51.nicovideo.jp/smile?s=6971638.27795as3 という風になる。”smile-clb51.nicovideo.jp”は、必ずこれになるとは限らない。また”s=”以降の数値はセッション番号(”as3”という文字が付くようになったが)なので動画頁を開くたびに変化するのは旧方式と変わらない。
これらについて「和魂」の修正をしなくては・・・。
« 読了:バッカーノ! 1931 臨時急行編 Another Junk Railroad | トップページ | 今日届いたもの »
« 読了:バッカーノ! 1931 臨時急行編 Another Junk Railroad | トップページ | 今日届いたもの »
コメント