htmlの本文を抽出するperlモジュールHTML::ExtractContent

htmlページから本文をぶっこ抜くperlモジュール。

cpanからインストールしてみました。
MACにCPANをインストールする方法はこちら


sudo perl -MCPAN -e shell
Password:
Terminal does not support AddHistory.

cpan shell -- CPAN exploration and modules installation (v1.7602)
ReadLine support available (try 'install Bundle::CPAN')

cpan> install HTML::ExtractContent


サンプルコード。


#!/usr/bin/perl

use strict;
use warnings;
use HTML::ExtractContent;
use LWP::UserAgent;
use Encode;

my $agent = LWP::UserAgent->new;
my $res = $agent->get('http://mac-and-iphone.blogspot.com/2009/05/maccpan.html');

my $extractor = HTML::ExtractContent->new;
$extractor->extract($res->decoded_content);

print encode('utf-8', $extractor->as_text);



実行時、

Wide character in print at ./HOGEHOGE.PL line NUM.

というエラーが発生してしまったので、ググってみると、
「Wide character in print atというエラーはUTF-8フラグが付いた文字列をprintしようとしているからである。」
参考:Wide character in print at ...
とのこと。

そこでサンプルコードでは、出力のところに、
encode('utf-8', $extractor->as_text);
と入れてみました。

ページによっては、本文が改行なしの1行で抽出されてしまうページもあるみたい。

0 件のコメント:

コメントを投稿