特定のWebページから空白のテンプレートを生成できるように、すべてのHTML要素間のテキストをすべて無視または削除する必要があります。HTML :: TreeBuilder出力のテキストを無視するPerl
私は、PerlモジュールHTML :: TreeBuilderとHTML ::要素を使用して解析しています。
私は、ドキュメントに記載ignore_text方法を試してみましたが、それは正しい結果を提供していません。
私も同じことを行うためにPHPとDOMXPathを使うことの最大を使用してみましたが、結果は管理があまりにも面倒に思えました。正規表現は動作するかもしれませんが、私の最後の手段です。
これは私の現在のコードの一部です。非常に基本的です。ボトムはファイルに出力されます。すべてのコードが機能していますテンプレートファイルを生成できるように、フォーマットする必要があります。助けを事前に
my $url= "http://www.example.com";
my $page = get($url) or die $!;
my $tree = HTML::TreeBuilder->new_from_content($page);
$tree->parse_file($page);
$tree->ignore_text;
$tree->elementify;
open OUTPUT, "+>".$body;
my $output = $tree->as_HTML;
print OUTPUT $output;
close OUTPUT;
ありがとう!
編集:私はこの問題を発見した - あなたは物理ファイルから解析する際に無視するテキストにのみ機能します。私はページを一時ファイルとして保存して、解析したいテキストを出力しなければなりませんでした。ファイルを削除するには、リンクの最後にunlink($ tmp)しました。私のスクリプトは、以来...読書やデータベースへの書き込み、私は一種の迷惑です、この一時ファイルを作成する必要があるたびに、以下の返信用
感謝をはるかに複雑成長してきました!
代わりに、人々が将来的に恩恵を受けることができるようにソリューションを提供し、いずれかの質問を削除するか、または(あなたがして受け入れることができます)答えとしてあなたのソリューションを投稿する編集を提案する幸運。 SOの仕組みの詳細については、[FAQ](http://stackoverflow.com/faq)を参照してください。 :) –