Perl HTML::TreeBuilder 添加、和<主体>解析内容的标签,如何停止或解决它?主体>
背景:
我正在使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可能想查看 HTML::Tree< 中的
guts
方法/a>.它仅以列表形式返回非隐式节点。You might want to look on
guts
method in HTML::Tree. It returns only non-implicit nodes as a list.如果您可以确保您的 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.