perl HTML解析

网上找了n多资料,感觉还是 HTML::TreeBuilder最好用了,研究了半天 HTML::TableExtract 也没研究明白。

my $root = HTML::TreeBuilder->new;

binmode HM, "utf8";                                                   #中文乱码解决
$root->parse_file(\*HM);

my $body = $root->find_by_tag_name('body');             #找到body节点
my $table = $body->find_by_attribute('class','bglbk1');  #找到body下面 class='bglbk1'的节点

 

以下函数都是 HTML::TreeBuilder 继承于包HTML::Element, HTML::Element的其他函数有待研究

find_by_tag_name("tr") #用来得到表格的每一行

my %attr = $row->all_external_attr(); #得到$row的所有属性

 $row->content_list#得到$row的每一个元素

 

中文乱码解决:

 

use utf8;

 

binmode(STDIN, ':encoding(utf8)');
binmode(STDOUT, ':encoding(utf8)');
binmode(STDERR, ':encoding(utf8)');

 

 

转载于:https://www.cnblogs.com/arya/archive/2012/12/16/2820952.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值