phpでニコニコ動画のflvファイルをゲットする方法
簡単にfunction化しました。
<?php //get nico flv function get_nicoflv( $id ){ //$id = "sm1580278"; /** * @see http://blog.livedoor.jp/dankogai/archives/50900305.html */ //extension=php_openssl.dll //extension=php_curl.dllをphp.iniにて有効にしておく $mail = 'めーる'; $pwd = 'ぱすわーど'; require_once 'HTTP/Client.php'; $argv[1] = $id; $conf = array('mail' => $mail, 'password' => $pwd); preg_match('/(sm\d+)$/', @$id, $matches); $video_id = $matches[1]; $client = new HTTP_Client(); $client->setDefaultHeader('Keep-Alive', 4); $client->post('https://secure.nicovideo.jp/secure/login?site=niconico', $conf); $res = $client->currentResponse(); $client->get("http://www.nicovideo.jp/watch/{$video_id}"); $client->get("http://www.nicovideo.jp/api/getflv?v={$video_id}"); $res = $client->currentResponse(); parse_str($res['body'], $q); $url = @$q['url'] or die('Failed: ' . $res['body']); $client->get($url); $res = $client->currentResponse(); file_put_contents("./{$video_id}.flv", $res['body']); } ?>