Я хочу использовать BeautifulSoup, чтобы изменить html ниже, чтобы раскомментировать его по идентификатору тега комментария.
<div class="foo">
cat dog sheep goat
<!--<p id="p1">test</p>-->
<p id="p2">
test
</p>
</div>
Это мой ожидаемый результат ниже:
<div class="foo">
cat dog sheep goat
<p id="p1">test</p>
<p id="p2">
test
</p>
</div>
Это мой python код Я использую BeautifulSoup, но не знаю, как выполнить эту функцию.
from bs4 import BeautifulSoup,Comment
data = """<div class="foo">
cat dog sheep goat
<p id='p1'>test</p>
<p id='p2'>test</p>
</div>"""
soup = BeautifulSoup(data, 'html.parser')
for comment in soup(text=lambda text: isinstance(text, Comment)):
if 'id="p1"' in comment.string:
# I don't know how to complete it here.
# This is my incorrect solution
# It will output "<p id="p1">test</p>",
# not "<p id='p1'>test</p>"
comment.replace_with(comment.string.replace("<!--", "").replace("-->", ""))
break
Обратиться за помощью