X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=videosite%2FYouTubeGrabber.pm;h=28f50078c99860fc10d86bd65b68636c0be4aed8;hb=9257f7504905acaae56297cf7f1a479853e68fe7;hp=e611a1f1a80d69b5343f26544ae608657bc9f621;hpb=cd90e25ee267ac616d7432067c3eba5ac699f391;p=videosite.git diff --git a/videosite/YouTubeGrabber.pm b/videosite/YouTubeGrabber.pm index e611a1f..28f5007 100644 --- a/videosite/YouTubeGrabber.pm +++ b/videosite/YouTubeGrabber.pm @@ -53,34 +53,33 @@ my %videoformats = ( sub new { my $class = shift; - my $self = $class->SUPER::new(); - - $self->{'NAME'} = 'youtube'; - $self->{_SELFTESTURL} = 'http://www.youtube.com/watch?v=dMH0bHeiRNg'; - $self->{_SELFTESTTITLE} = 'Evolution of Dance - By Judson Laipply'; - $self->{'PATTERNS'} = ['(https?://(?:[-a-zA-Z0-9_.]+\.)*youtube\.(?:com|de|co.uk)/watch(?:_popup)?\?.*?v=([-a-zA-Z0-9_]+))', - '(https?://(?:[-a-zA-Z0-9_.]+\.)*youtube\.(?:com|de|co.uk)/watch\#\!v=([-a-zA-Z0-9_]+))', - '(https?://(?:[-a-zA-Z0-9_.]+\.)*youtube\.(?:com|de|co.uk)/v/([-a-zA-Z0-9_]+))', - '(https?://(?:[-a-zA-Z0-9_.]+\.)*youtube\.(?:com|de|co.uk)/embed/([-a-zA-Z0-9_]+))', - '(https?://(?:[-a-zA-Z0-9_.]+\.)*youtube\.(?:com|de|co.uk)/user/[[:alnum:]]+\?v=([-a-zA-Z0-9_]+))', - '(https?://(?:[-a-zA-Z0-9_.]+\.)*youtube\.(?:com|de|co.uk)/(?:user/)?[[:alnum:]]+#p/(?:\w+/)+\d+/([-a-zA-Z0-9_]+))', - '(https?://(?:[-a-zA-Z0-9_.]+\.)*youtu\.be/watch\?v=([-a-zA-Z0-9_]+))', - '(https?://(?:[-a-zA-Z0-9_.]+\.)*youtu\.be/([-a-zA-Z0-9_]+))', - '(https?://(?:[-a-zA-Z0-9_.]+\.)*youtube\.(?:com|de|co.uk)/user/\w+\?.*/([-a-zA-Z0-9_]+))']; - $self->{'_PARAMS'} = { - 'QUALITY' => ['normal', 'Quality of the video to download.', { - 'normal' => 'standard resolution flash video', - 'high' => 'higher resolution flash video', - 'h264' => 'high resolution MPEG4 video', - 'hd' => 'HD720 resolution'}], - 'USERNAME' => ['', 'Username to use for YouTube login'], - 'PASSWORD' => ['', 'Password to use for YouTube login'], - 'HTTPS' => [1, 'Whether to use HTTPS (if available) to connect to YouTube']}; - - bless($self, $class); - $self->_prepare_parameters(); - - return $self; + my $self = $class->SUPER::new( + NAME => 'youtube', + _SELFTESTURL => 'http://www.youtube.com/watch?v=dMH0bHeiRNg', + _SELFTESTTITLE => 'Evolution of Dance - By Judson Laipply', + PATTERNS => ['(https?://(?:[-a-zA-Z0-9_.]+\.)*youtube\.(?:com|de|co.uk)/watch(?:_popup)?\?.*?v=([-a-zA-Z0-9_]+))', + '(https?://(?:[-a-zA-Z0-9_.]+\.)*youtube\.(?:com|de|co.uk)/watch\#\!v=([-a-zA-Z0-9_]+))', + '(https?://(?:[-a-zA-Z0-9_.]+\.)*youtube\.(?:com|de|co.uk)/v/([-a-zA-Z0-9_]+))', + '(https?://(?:[-a-zA-Z0-9_.]+\.)*youtube\.(?:com|de|co.uk)/embed/([-a-zA-Z0-9_]+))', + '(https?://(?:[-a-zA-Z0-9_.]+\.)*youtube\.(?:com|de|co.uk)/user/[[:alnum:]]+\?v=([-a-zA-Z0-9_]+))', + '(https?://(?:[-a-zA-Z0-9_.]+\.)*youtube\.(?:com|de|co.uk)/(?:user/)?[[:alnum:]]+#p/(?:\w+/)+\d+/([-a-zA-Z0-9_]+))', + '(https?://(?:[-a-zA-Z0-9_.]+\.)*youtu\.be/watch\?v=([-a-zA-Z0-9_]+))', + '(https?://(?:[-a-zA-Z0-9_.]+\.)*youtu\.be/([-a-zA-Z0-9_]+))', + '(https?://(?:[-a-zA-Z0-9_.]+\.)*youtube\.(?:com|de|co.uk)/user/\w+\?.*/([-a-zA-Z0-9_]+))'], + _PARAMS => { + QUALITY => ['normal', 'Quality of the video to download.', { + normal => 'standard resolution flash video', + high => 'higher resolution flash video', + h264 => 'high resolution MPEG4 video', + hd => 'HD720 resolution'}], + USERNAME => ['', 'Username to use for YouTube login'], + PASSWORD => ['', 'Password to use for YouTube login'], + HTTPS => [1, 'Whether to use HTTPS (if available) to connect to YouTube'] + }, + @_, + ); + + return bless($self, $class); } sub _parse { @@ -246,7 +245,7 @@ sub _parse_by_scrape { $e = $p->get_text(); $self->debug("Found script: %s", $e); - if ($e =~ m|\x27PLAYER_CONFIG\x27:\s+(.+)(?:\}\);)?|) { + if ($e =~ m|ytplayer\.config\s*=\s*(.+);$|) { my $args = $1; $self->debug("Found PLAYER_CONFIG: %s", $args);