html 调用perl变量吗,html – 如何在Perl之间轻松解析

我想将网站解析为Perl数据结构.

首先我加载页面

use LWP::Simple;

my $html = get("http://f.oo");

现在我知道两种方法来处理它.

首先是正则表达式并对模块进行限制.

我开始阅读HTML::Parser并找到了一些例子.

但我对Perl的知识并不确定.

我的代码示例继续

my @links;

my $p = HTML::Parser->new();

$p->handler(start => \&start_handler,"tagname,attr,self");

$p->parse($html);

foreach my $link(@links){

print "Linktext: ",$link->[1],"\tURL: ",$link->[0],"\n";

}

sub start_handler{

return if(shift ne 'a');

my ($class) = shift->{href};

my $self = shift;

my $text;

$self->handler(text => sub{$text = shift;},"dtext");

$self->handler(end => sub{push(@links,[$class,$text]) if(shift eq 'a')},"tagname");

}

我不明白为什么有两次换班. secound应该是自我指针.但第一个让我觉得自引用已经全部变为shiftet,用作Hash,而href的值存储在$class中.有人可以解释这一行(我的($class)= shift-> {href};)?

除了这个缺点,我不想解析所有的URL,我想把所有的代码放在< div class =“foo”>之间.和< / div>到一个字符串,其间有很多代码,特别是其他< div>< / div>标签.所以我或模块必须找到正确的结束.

之后,我计划再次扫描字符串,找到特殊的类,如< h1>,< h2>,< p class =“foo2”>< / p>等.

我希望这些信息可以帮助你给我一些有用的建议,请记住,首先我想要一个简单的理解方式,这在第一级不是一个很好的表现!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值