X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=videosite%2FYahooGrabber.pm;h=4c88842f09ca0ee81d559455e4eb47ca377a7856;hb=09d45a4c4460dce9322f4528dad5123322ab6b38;hp=c209351157b3f11ba68451a18f5a1a76088970c4;hpb=911eeb36e674f916d08b04cd9c48bb33e96bf108;p=videosite.git diff --git a/videosite/YahooGrabber.pm b/videosite/YahooGrabber.pm index c209351..4c88842 100644 --- a/videosite/YahooGrabber.pm +++ b/videosite/YahooGrabber.pm @@ -8,7 +8,6 @@ package videosite::YahooGrabber; use videosite::GrabberBase; @ISA = qw(videosite::GrabberBase); -use LWP::Simple qw(!get); use XML::Simple; use HTML::Parser; use Data::Dumper; @@ -17,15 +16,13 @@ use strict; sub new { my $class = shift; - my $self = $class->SUPER::new(); + my $self = $class->SUPER::new( + NAME => 'yahoo', + PATTERNS => ['(http://video\.yahoo\.com/watch/\d+/(\d+))'], + @_, + ); - $self->{'NAME'} = 'yahoo'; - $self->{'PATTERNS'} = ['(http://video\.yahoo\.com/watch/\d+/(\d+))']; - - bless($self, $class); - $self->_prepare_parameters(); - - return $self; + return bless($self, $class); } sub _parse { @@ -37,6 +34,7 @@ sub _parse { my $p = XML::Simple->new(); my $t; my @accum; + my $ua = $self->ua(); $url =~ m|$pattern|; $url = $1; @@ -49,7 +47,7 @@ sub _parse { $metadata->{'DLURL'} = undef; # Get the XML file containing the video metadata - unless(defined($content = LWP::Simple::get(sprintf('http://cosmos.bcst.yahoo.com/up/yep/process/getPlaylistFOP.php?node_id=%s', $2)))) { + unless(defined($content = $self->simple_get(sprintf('http://cosmos.bcst.yahoo.com/up/yep/process/getPlaylistFOP.php?node_id=%s', $2), $ua))) { $self->error('Could not download XML metadata'); return undef; } @@ -68,7 +66,7 @@ sub _parse { # The XML does not contain the title of the video, for # reasons possibly known to some jerk at yahoo. # So we'll have to parse the actual HTML, too. - unless(defined($content = LWP::Simple::get($url))) { + unless(defined($content = $self->simple_get($url, $ua))) { $self->error('Could not download HTML'); return undef; }