示例如下:
>>> from bs4 import BeautifulSoup as BS
>>> soup = BS('<p><a class="glossary-anchor" name="AB_testing"></a><h2 class="hide-from-toc" data-text=" A/B testing" id="ab-testing"> A/B testing</h2></p>')
>>> soup
<html><head></head><body><p><a class="glossary-anchor" name="AB_testing"></a></p><h2 class="hide-from-toc" data-text=" A/B testing" id="ab-testing"> A/B testing</h2><p></p></body></html>
>>> 如果您仔细观察,在第一个</a>关闭之后,有一个新添加的</p>标记。最后,它还定义了自己的不带文本的p标记。
我试着定义我自己的html,head和body标签。这似乎是非常不恰当的行为,我不知道该如何查找或查找什么。
发布于 2021-03-18 00:26:39
好了,我找到了一个解决方案
解析器一定是不一样的。
我认为缺省值是'html.parser‘,但当我显式地将其添加到soup构建器中时,它可以正常工作。
soup = BS('<p><a class="glossary-anchor" name="AB_testing"></a><h2 class="hide-from-toc" data-text=" A/B testing" id="ab-testing"> A/B testing</h2></p>', 'html.parser')
https://stackoverflow.com/questions/66676984
复制相似问题