我需要根据表的内容删除某些表。我使用HTML::Tree
解析HTML以构建HTML树。
我使用replace_with_content
删除了表,但只删除了表标记并保留了表的内容。
请注意,这些表是嵌套的。
my $content = get($url);
my $tree = HTML::Tree->new();
$tree->parse($content);
my (@table_tags) = $tree->look_down( '_tag' , 'table' );
my $string = $table_tags[0]->as_HTML;
my $tree2 = HTML::Tree->new();
$tree2->parse($string);
my (@table_tags2) = $tree2->look_down( '_tag' , 'table' );
$table_tags2[3]->replace_with_content();
答案 0 :(得分:4)
如何使用delete代替replace_with_content
?
答案 1 :(得分:1)
删除您想要的表格
$table->delete;
我不确定您是否在选择要删除的表时遇到问题,但是如何执行此操作取决于条件是什么。 HTML::Element
中的方法可让您浏览树并测试其中的部分内容,或者您可以为调用look_down