sub find_video { my ($self, $browser, $embed_url) = @_; - my $id = ($embed_url =~ /(sm\d+)/)[0]; + my $id = ($embed_url =~ /([sn]m\d+)/)[0]; die "No ID found\n" unless $id;
my $base = "ext.nicovideo.jp/thumb_watch/$id"; @@ -2029,7 +2029,9 @@ sub find_video { $browser->get($base . "/$playkey"); my $url = uri_unescape(($browser->content =~ /url=([^&]+)/)[0]);
- return $url, title_to_filename($title); + $url =~ m{/smile\?(.)=} or die; + my $type = { qw( v flv m mp4 s swf ) }->{$1} or die; + return $url, title_to_filename($title, $type); }