gpt4 book ai didi

html - 使用 Html::TreeBuilder::XPath 打印表格内容

转载 作者:可可西里 更新时间:2023-11-01 12:49:55 25 4
gpt4 key购买 nike

我想从一个 html 文件中提取所有表格,并按以下方式打印它们的内容,每个单元格由 \t 分隔,每行由 \n 分隔,每个表由 \n\n 分隔。以下是我的脚本,当我将其更改为 findvalues on tr 时,整个 tr 作为一个元素插入,我什至尝试了其他方法,如 findnodes_as_strings ($path),我想将其修改为上述结构。

use strict;
use warnings;
use HTML::TreeBuilder::XPath;

my $tree= HTML::TreeBuilder::XPath->new;
$tree->parse_file( "html.html");

my @values=$tree->findvalues(q{//table//tr//td});

print $_, "\n" foreach(@values);

最佳答案

您需要分别处理每个表,对于行也是如此:

foreach my $table ( $tree->findnodes('//table') ) {

foreach my $row ( $table->findnodes('.//tr') ) {

my @cells = $row->findvalues('.//td');
print join("\t", @cells), "\n";
}
print "\n";
}

当然这只是针对简单表格的解决方案(想想columnspans、th、table inside table等)

关于html - 使用 Html::TreeBuilder::XPath 打印表格内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18081496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com