読者です 読者をやめる 読者になる 読者になる

ゆーすけべー日記

はてなBlogってどーなの!?

ささみさん@がんばらないを見るために

Perl

放送終了してたアニメをバッファリング無しで快適に見たくなったので、スクリプトを書いた。あんま真似しないでください。

use LWP::UserAgent;
use URI::Escape qw/uri_unescape/; 

my $list_url = $ARGV[0] or die;
my $url_list;
my $ua = LWP::UserAgent->new( show_progress => 1 );

{
    my $res = $ua->get($list_url);
    die $res->status_line if $res->is_error;
    @$url_list = $res->decoded_content
       =~ m!class="page_item".+?href="(.+?)"!smg;
   @$url_list = reverse @$url_list;
}

{
    for my $content_url (@$url_list) {
        my ($title) = $content_url =~ m!([^/]+?)/$!;
        my $res = $ua->get($content_url);
        die $res->status_line if $res->is_error;
        my ($embed_url) = $res->decoded_content
             =~ m!(http://auengine\.com/embed\.php\?file=[a-zA-Z]+.+?)"!;
        $res = $ua->get($embed_url);
        die $res->status_line if $res->is_error;
        my ($mp4_url) = $res->decoded_content
             =~ m!(http://s[0-9]+\.auengine\.com%2Fvideos%2F.+?)'!sm;
        $mp4_url = uri_unescape($mp4_url);
        $ua->get($mp4_url, ':content_file' => "$title.mp4");
     }
}

こんな感じで実行する。

$ perl get_list.pl http://eyeonanime.com/sasami-san-ganbaranai/

ってことで、全話DL完了するのを待ちつつ、パスタつくるお!