Perl HTML::TreeBuilder 添加、和<主体>解析内容的标签,如何停止或解决它?

发布于 2024-12-10 02:23:56 字数 512 浏览 1 评论 0原文

背景:
我正在使用 HTML::TreeBuilder 来解析整个 html 页面,为了参考起见,说“whole_page”。然后,我使用新的 TreeBuilder 对象继承的 parse_content 方法(与 Whole_page 相同)来解析一块 html,例如“html_to_insert”。 html_to_insert 的根元素应该是

标记。最终,需要将 html_to_insert 树插入到 Whole_page 树中。

问题:
html_to_insert 树被 标签包裹,我显然不这样做需要。我查看了 HTML::Parser 看看是否有一个参数可以解决问题,但我找不到任何东西。

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

感谢您的任何帮助。

Background:
I'm using HTML::TreeBuilder to parse an entire html page, say "whole_page" for reference's sake. I'm then using the inherited parse_content method (same as for whole_page) of a new TreeBuilder object to to parse a chunk of html, say "html_to_insert". The root element of html_to_insert should be a <div> tag. Ultimately, the html_to_insert tree needs to be inserted into the the whole_page tree.

Problem:
The html_to_insert tree is being wrapped with <html>, <head> and <body> tags, which I obviously don't need. I looked at HTML::Parser to see if there was a parameter that might solve the problem, but I couldn't find anything.

Question:
Is there a simple way to stop the parse method from wrapping html_to_insert with the un-needed tags? Knowing what I'm trying to do, am I doing this ass backwards (is there a better way)?

Thanks for any help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

初雪 2024-12-17 02:23:56

You might want to look on guts method in HTML::Tree. It returns only non-implicit nodes as a list.

忆依然 2024-12-17 02:23:56

如果您可以确保您的 HTML 符合 XHTML 标准,即它是一个正确的 XML 文档,您也许可以使用 XML 工具来完成这项工作。过去,我曾使用 XML::Twig 来完成此类工作,这样会更容易一些。

当然,如果您正在解析来自互联网的任意网页,则可能无法获得此类保证。

If you can ensure your HTML is XHTML-compliant, that is, it's a proper XML document, you may be able to use XML tools to do the job instead. In the past, I've used XML::Twig for this type of job, it was a bit easier that way.

Of course, if you're parsing arbitrary web pages from the internet, you may not have this type of guarantee.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文