my $metadata = {};
my $p = HTML::Parser->new(api_version => 3);
my @accum;
+ my @text;
my $e;
my $xml = undef;
}
$p->handler(start => \@accum, "tagname, attr");
- $p->report_tags(qw(div));
+ $p->handler(text => \@text, "text");
+ $p->report_tags(qw(script));
$p->utf8_mode(1);
$p->parse($content);
- # Look for the post id in the div tags
- foreach $e (@accum) {
- if (exists($e->[1]->{'pokkariparameters'})) {
- if ($e->[1]->{'pokkariparameters'} =~ m|posts_id:"(\d+)"|) {
- $xml = $1;
- }
+ # Look for the post id in the javascript code
+ foreach $e (@text) {
+ if ($e->[0] =~ m|player.setPostsId\((\d+)\)|s) {
+ $xml = $1;
}
}
}
$xml = XML::Simple::XMLin($content, KeepRoot => 1);
- $metadata->{'DLURL'} = $xml->{'rss'}->{'channel'}->{'item'}->{'media:group'}->{'media:content'}->{'url'};
+ $metadata->{'DLURL'} = $xml->{'rss'}->{'channel'}->{'item'}->{'enclosure'}->{'url'};
$metadata->{'TITLE'} = $xml->{'rss'}->{'channel'}->{'item'}->{'media:title'};
unless(defined($metadata->{'DLURL'}) && defined($metadata->{'TITLE'})) {