在Perl中进行HTML解析
发布时间:2020-12-15 21:22:44 所属栏目:大数据 来源:网络整理
导读:我试图用perl解析以下 HTML结构.我需要选择包含类消息的所有dd元素和一个id. 所有我想要的脚本要循环遍历所有的dd元素,并打印出dd元素的id,但是它需要忽略第一个dd元素,因为它是静态的,不会改变. 它可以与任何perl模块,只要它可以从cpan安装,使我很容易.我没
我试图用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++; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |