[前途多難]テキスト抜き出し
WEBページからテキストを抽出して形態素解析にかけるには
テキスト抜き出しをしなければなりません。
単純にタグを消すだけでも良いのですが、
↑に説明があるように、HTML::TokeParserを使ってみます。
モジュール HTML::TokeParser の get_text メソッド,または get_trimmed_text メソッドや, striphtml を使っても同じようなことができます
こんな簡単なperlスクリプトを試します。
#!/usr/bin/perl use strict; use HTML::TokeParser; use LWP::Simple; my $url = shift @ARGV or die "usage $0 url\n"; my $content = get $url; my $parser = HTML::TokeParser->new( \$content ); die "Error constructor of HTML::TokeParser\n" unless defined $parser; while ( my $text = $parser->get_text("") ) { print $text; }
ところが以下のような簡単なhtmlであればうまくいきますが、
<html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"> <title>テストページ</title> </head> <body> これはテストコンテンツです。 <br> テストとは、英語のtestのカタカナ表記です。<br> 試験、試す、という意味です。 <br> <img src="002.png" alt="画像ファイルです"> <br> 画像を表示できます。 </body> </html>
多くのWebサイトではjavascriptが本文として抽出されてしまいます。
Scriptタグを除去した後に、テキストを抽出する必要がありそうです。
ディスカッション
コメント一覧
まだ、コメントがありません