HTMLにふくまれるrelative URLをabsolute URLにかきかえる簡単な方法

http://blog.livedoor.jp/dankogai/archives/51568463.html

HTML::ResolveLink をつかうと簡単ですね。

#!/usr/bin/perl
use strict;
use warnings;
use utf8;
use HTML::ResolveLink;
use LWP::UserAgent;

my $url = 'http://japan.cnet.com/news/business/story/0,3800104746,20416479-0,00.htm';

my $ua = LWP::UserAgent->new();
my $res = $ua->get($url);
die $res->status_line unless $res->is_success;

my $html = $res->content;

if (@ARGV) {
    my $resolver = HTML::ResolveLink->new(
        base     => $url,
    );
    $html = $resolver->resolve($html);
}
print $html;

Published: 2010-12-12(Tue) 14:45