python beautifulsoup删除一行cod

2024-04-20 02:08:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我开始学习美团。我试图从html脚本中删除一行包含</div>的代码。

文档中的大多数示例都是针对整个标签(打开和关闭部分)。
是否可以只修改标记的一部分? 例如:

</div>
<div >Hello</div>
<div data-foo="value">foo!</div>


如何删除代码的第一行?


Tags: 代码文档标记div脚本示例hellodata
2条回答

您可以使用BeautifulSoup的^{}指定无效标记,这将只删除没有打开/关闭对应项的额外标记,同时保留其他标记:

soup = BeautifulSoup(html_doc, 'html.parser')

invalid_tags = ['</div>']

for tag in invalid_tags: 
    for match in soup.findAll(tag):
        match.unwrap()

print(soup)

结果:

^{pr2}$

你不需要做任何事情它会自动修复的

from bs4 import BeautifulSoup

html_doc = '''</div> 
<div>World</div>
<div data-foo="value">foo!''' # also invalid, no closing

soup = BeautifulSoup(html_doc, 'html.parser')
print(soup)

输出

^{pr2}$

unwrap()用于删除不修复标记。在

相关问题 更多 >