- 作者: Randal L. Schwartz,brian d foy,Tom Phoenix,近藤嘉雪
- 出版社/メーカー: オライリージャパン
- 発売日: 2012/07/25
- メディア: 大型本
- 購入: 7人 クリック: 22回
- この商品を含むブログ (17件) を見る
perlによるhtmlの解析サンプルコード
use strict; use warnings; use HTML::TreeBuilder; #文字コード use utf8; binmode STDIN, ":utf8"; binmode STDOUT, ":utf8"; #------------------------------------------------------------------------------- use HTML::TreeBuilder; my $tree = new HTML::TreeBuilder; $tree->parse_file( "test.html" ); $tree->eof(); # 含まれるTXTを取り出す foreach my $tag ($tree->find("h1")) { print $tag->as_text."\n"; } # 含まれるHTMLを取り出す foreach my $tag ($tree->find("h1")) { print $tag->as_HTML."\n"; } # 含まれる要素の値を取り出す foreach my $tag ($tree->find("a")) { print $tag->attr('href'),"\n"; } # -- タグの要素と値にフォーカスして処理 -- # 要素 class に値 entry_body をもつものを取り出す for my $tag ( $tree->look_down("class", "entry_body") ){ print $tag->as_text."\n"; } # 値の指定には正規表現も for my $tag ( $tree->look_down("class", qr/entry_/) ){ print $tag->as_text."\n"; } # 要素 id で引っ張ってくる場合はこんな感じ。 for my $tag ( $tree->look_down("id", "link") ){ print $tag->as_text."\n"; } # aタグのリンクとテキストを取得する for my $a ($tree->find('a')) { print join(" - ", $a->as_text, $a->attr_get_i('href'))."\n"; } $tree = $tree->delete;
use HTML::TreeBuilder; my $tree = new HTML::TreeBuilder; $tree->parse_file( "test2.html" ); $tree->eof(); # aタグのリンクとテキストを取得する for my $a ($tree->find('a')) { print join(" - ", $a->as_text, $a->attr_get_i('href'))."\n"; } # リンクをぜんぶ for my $attr ( $tree->look_down("href", qr{http://} ) ){ print $attr->as_text."\n"; } $tree = $tree->delete;
もっと自在にサーバを使い倒す 業務に役立つPerl (Software Design plus)
- 作者: 木本裕紀
- 出版社/メーカー: 技術評論社
- 発売日: 2012/04/11
- メディア: 単行本(ソフトカバー)
- 購入: 3人 クリック: 94回
- この商品を含むブログ (11件) を見る