在确定原始文档中的文字后,我需要操作HTML文档中的某些文字。假设我有这个HTML代码
<div id="identifier">
<a href="link" id="linkid">
</a>
</div>
我想删除id
标记中的<a>
属性。我可以使用BeautifulSoup识别特定标签,但因为它改变了原始文档的格式,我也无法搜索/替换字符串。我不想只写出BeautifulSoup的输出,而是想在原始文档中标识<a href="link" id="linkid">
标记,并仅用<a href="link">
替换。知道怎么办吗?
回答几个问题:
这是一个庞大的现有代码库,需要进行一些更新,所以它不仅仅是一种搜索/替换工作。
原始格式很重要,因为组织遵循格式化代码的某些编码标准,我想保留这些标准。此外,BS为了完整性而引入额外的标签,例如等等。
答案 0 :(得分:0)
您使用的是哪个版本的beautifulsoup? 您可以在bs4
中编辑字典等html节点来自文档: http://www.crummy.com/software/BeautifulSoup/bs4/doc/#changing-tag-names-and-attributes
soup = BeautifulSoup('<b class="boldest">Extremely bold</b>')
tag = soup.b
del tag['class']
del tag['id']
另外,你似乎对美丽的汤输出修改后的html代码的方式有问题。 如果您想要打印文档,或使用自定义格式,您可以轻松完成
http://www.crummy.com/software/BeautifulSoup/bs4/doc/#output