【发布时间】:2013-07-10 07:09:58
【问题描述】:
我希望能够根据它的 id 包装一个 div。例如给定以下 HTML:
<body>
<div id="info">
<div id="a1">
</div>
<div id="a2">
<div id="description">
</div>
<div id="links">
<a href="http://example.com">link</a>
</div>
</div>
</div>
</body>
我想编写一个 Python 函数,它接受一个文档、一个 ID 和一个选择器。并将给定的id 包装在div 中的给定document 中,类或id 为selector。例如,假设上面的 HTML 在变量 doc
wrap(doc,'#a2','#wrapped')
将返回以下 HTML:
<body>
<div id="info">
<div id="a1">
</div>
<div id="wrapped">
<div id="a2">
<div id="description">
</div>
<div id="links">
<a href="http://example.com">link</a>
</div>
</div>
</div>
</div>
</body>
我查看了一些 XML 解析器和 Python HTMLParser,但我没有找到任何东西让我不仅能够将所有内容放入特定标签中,而且能够附加字符串并轻松编辑文档。如果不存在,有什么好的方法呢?
【问题讨论】:
-
你试过
BeautifulSoup吗? -
是的,BeautifulSoup 摇滚!
-
我宁愿不为此使用 BeautifulSoup,因为它只是为了我正在编写的模块中的一件快速事情,我不想导入那么大的东西,我什至没有确定如何在 beautifulSoup 中解决这个问题,但如果真的没有其他方法,我会检查一下