ニコニコ動画のFLVをダウンロードしてMP3にする

久々にPerlで小物作成。
ニコニコ動画のFLVファイルをダウンロード&MP3作成。
動作に必要なジュールの説明は後ほど。

#!/usr/bin/perl
 
# mp3kure.pl
# programmed by MDR
 
use strict;
use WWW::Mechanize;
use Config::Simple;
use CGI;
use FLV::ToMP3;
 
my $url = ({
    TopPage => 'http://www.nicovideo.jp/',
    Watch   => 'http://www.nicovideo.jp/watch/',
    Api     => 'http://www.nicovideo.jp/api/getflv?v='
});
my $conf = Config::Simple->new('./mp3kure.ini')->vars();
 
my $mech = WWW::Mechanize->new( keep_alive=>4 );
$mech->get( $url->{'TopPage'} );
$mech->set_fields(
    mail => $conf->{'Main.Mail'},
    password => $conf->{'Main.Password'}
);
$mech->submit();
 
$mech->get( $url->{'Watch'} . $ARGV[0]);
my $res = $mech->get( $url->{'Api'} .$ARGV[0]);
my $q = CGI->new( $res->content );
my $uri = $q->param('url');
$mech->get( $uri, ":content_file" => "./$ARGV[0].flv");
 
my $converter = FLV::ToMP3->new();
$converter->parse_flv("./$ARGV[0].flv");
$converter->save("./$ARGV[0].mp3");
 
#エラー処理? そんなの関係ねぇ

設定ファイルはmp3kure.plと同じフォルダにmp3kure.iniを作って次の内容で置いてください。

[Main] 
Mail=ニコニコ動画にログインするメールアドレス 
Password=同パスワード

Leave a Reply