ホーム > 日記 > ニコニコ動画ダウンローダー

ニコニコ動画ダウンローダー


<?php
/**
 * @see http://blog.livedoor.jp/dankogai/archives/50900305.html
 */
require_once 'HTTP/Client.php';

$conf = array('mail' => 'your@mail.addr', 'password' => 'password');
preg_match('/(sm\d+)$/', @$argv[1], $matches) or die(@$argv[0] . ' [video_id|uri]');
$video_id = $matches[1];

$client = new HTTP_Client();
$client->setDefaultHeader('Keep-Alive', 4);

echo "login as {$conf[mail]}\n";
$client->post('https://secure.nicovideo.jp/secure/login?site=niconico', $conf);
$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']);
echo "{$url} => {$video_id}.flv\n";
$client->get($url);
$res = $client->currentResponse();
file_put_contents("/path/to/{$video_id}.flv", $res['body']); 


$ php nicovideo.php sm279015

PHPチックではないですが、元へのリスペクトということで。
YAMLクラスライブラリはコチラにあります。
extentionはコチラ
PEAR、PECLにないので今回は使いませんでした。

カテゴリー: 日記 タグ:
  1. コメントはまだありません。
  1. トラックバックはまだありません。