在Perl中进行HTML解析

前端之家收集整理的这篇文章主要介绍了在Perl中进行HTML解析前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图用perl解析以下 HTML结构.我需要选择包含类消息的所有dd元素和一个id.
所有我想要的脚本要循环遍历所有的dd元素,并打印出dd元素的id,但是它需要忽略第一个dd元素,因为它是静态的,不会改变.

它可以与任何perl模块,只要它可以从cpan安装,使我很容易.我没有太多的Perl和解析html的经验,所以任何指针将是非常有帮助的.

谢谢 :)

HTML结构:

<pre><code>
<html>
<head>
</head>
<body>
 .....other elements
    <div id="messages">
        <div class="header"></div>
        <dl>
            <dd class="message unread mc-friend mc-message">This is just a random message,do not parse</dd>
            <dd id="msg2" class="message unread mc-message">
                Hello
            </div>
            <dd id="msg3" class="message unread mc-message">
                Hello
            </dd>
        </dl>
    </div>
</body>
</html>
</pre></code>

解决方法

这样的事情,快速简单:
#! /usr/bin/perl
use strict;
use warnings;

use Mojo::DOM;

my $html = "Your HTML goes here";

my $dom = Mojo::DOM->new;
$dom->parse($html);
my $skip;
for my $dd ($dom->find('dd[class*="message"]')->each) {
    print $dd->attrs->{id},"\n" if $skip++;
}
原文链接:https://www.f2er.com/Perl/172524.html

猜你在找的Perl相关文章