加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

使用Perl刮取HTML文件,仅按顺序返回内容

发布时间:2020-12-16 06:12:18 所属栏目:大数据 来源:网络整理
导读:使用 HTML :: TreeBuilder – 或Mojo :: DOM – 我想抓取内容但保持顺序,这样我就可以将文本值放入一个数组中(然后用一个变量替换文本值)模板用途) 但这在TreeBuilder中 my $map_r = $tree-tagname_map();my @contents = map { $_-content_list } $tree-find
使用 HTML :: TreeBuilder – 或Mojo :: DOM – 我想抓取内容但保持顺序,这样我就可以将文本值放入一个数组中(然后用一个变量替换文本值)模板用途)

但这在TreeBuilder中

my $map_r = $tree->tagname_map();

my @contents = map { $_->content_list } $tree->find_by_tag_name(keys %$map_r);

foreach my $c (@contents) {
  say $c;
}

不返回订单 – 当然哈希没有订购.那么,如何从root访问树并保持返回的值序列?递归地走树?基本上,我想使用’as_text’方法,除了每个元素. (遵循这个nice idea,但我需要所有元素)

解决方法

这更好(使用Mojo :: DOM):

$dom->parse($html)->find('*')->each(
    sub {
        my $text = shift->text;
        $text =~ s/s+/ /gi;
        push @text,$text;
    }
  );

但是,欢迎任何进一步的评论.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读