NAME

WWW::NicoVideo::Download - Download FLV/MP4/SWF files from nicovideo.jp

SYNOPSIS

use WWW::NicoVideo::Download;

my $client = WWW::NicoVideo::Download->new(
    email => 'your-email@example.com',
    password => 'PASSWORD',
);

$client->download("smNNNNNN", \&callback);

DESCRIPTION

WWW::NicoVideo::Download is a module to login, request and download video files from Nico Nico Douga.

METHODS

new
$client = WWW::NicoVideo::Download->new(%options);

Creates a new WWW::NicoVideo::Download instance. %options can take the following parameters and they can also be set and get using accessor methods.

email, password

Sets and gets email and password to login Nico Nico Douga. Required if the User Agent object doesn't have the valid session or cookie to login to the site.

user_agent

Sets and gets LWP::UserAgent object to use to send HTTP requests to nicovideo.jp server. If you want to reuse the browser Cookie that has the signed-in state, you can set the Cookie to the UserAgent object here.

# use Safari sesssions
use HTTP::Cookies::Safari;
my $cookie_jar = HTTP::Cookies::Safari->new(
    file => "$ENV{HOME}/Library/Cookies/Cookies.plist",
);
my $client = WWW::NicoVideo::Download->new;
$client->user_agent->cookie_jar( $cookie_jar );
download
$client->download($video_id, $file_path);

Prepares the download by logging in and requesting the FLV API, and then download the video file. The second parameter is passed to LWP::UserAgent's request() method, so you can pass either local file path to be saved, or a callback function.

prepare_download
my $url = $client->prepare_download($video_id);

Prepares the download and returns the URL of the actual video. See eg/fetch-video.pl how to make use of this method.

AUTHOR

Tatsuhiko Miyagawa <miyagawa@cpan.org>

Original download code for Plagger was written by Yusuke Wada and the command line tool written by woremacx.

LICENSE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO