HTML::TreeBuilderによるパース(Headの取得)
ここでは、取得したHTTPメッセージのbody部分に含まれるHTMLを解析してHeadセクションを取り出す方法を説明したいと思います。
HTTPクライアントサンプル
以下にHTTP::LiteとHTTP::TreeBuilderを利用したクライアントを示します。
今回のサンプルでは最後にas_HTMLを使っています。 HEADセクションには、多くのHTMLタグが含まれており、それをそのまま表示するには、as_textではなくas_HTMLで行う必要があります。 今回は、HTMLタグを表示したかったので、as_HTMLでprintしました。
#!/usr/bin/perl
use HTTP::Lite;
use HTML::TreeBuilder;
$http = new HTTP::Lite;
# URL部分を変更して下さい
$req = $http->request("http://www.hogehogeURL.com/") || die $!;
$body = $http->body();
$tree = HTML::TreeBuilder->new;
$tree->parse($body);
$tree->eof();
$head = $tree->find("head");
print $head->as_HTML;
exit;