Perl HTML::TreeBuilder 添加 <html>和 <head> <body> 标记 到解析的内容,如何停止或解决它?



背景:
我使用HTML::TreeBuilder来解析整个HTML页面,为了参考起见,可以说"whole_page"。然后,我使用一个新TreeBuilder对象的继承的parse_content方法(与whole_page相同(来解析一块html,比如"html_to_insert"。html_to_insert的根元素应该是<div>标记。最终,需要将html_to_insert树插入到whole_page树中。

问题:
html_to_insert树被<html><head><body>标签包裹,我显然不需要这些标签。我查看了HTML::Parser,看看是否有一个参数可以解决这个问题,但我什么都找不到。

问题:
有没有一种简单的方法可以阻止parse方法用不需要的标记包装html_to_insert?知道我在努力做什么,我是不是在倒退(有更好的方法吗(?

谢谢你的帮助。

您可能需要查看HTML::Tree中的guts方法。它只将非隐式节点作为列表返回。

如果您可以确保HTML符合XHTML,也就是说,它是一个合适的XML文档,那么您可以使用XML工具来完成这项工作。在过去,我曾使用XML::Twig来处理这种类型的工作,这样做稍微容易一些。

当然,如果你在解析互联网上的任意网页,你可能没有这种类型的保证。

相关内容

  • 没有找到相关文章

最新更新