Python 如何使用Beauty Soup删除html注释
我正在清理爬网网站上的文本,但我不想在我的数据中包含任何html注释,所以我必须自己解析它,还是有一个现有的函数可以这样做 我试过这样做:Python 如何使用Beauty Soup删除html注释,python,beautifulsoup,Python,Beautifulsoup,我正在清理爬网网站上的文本,但我不想在我的数据中包含任何html注释,所以我必须自己解析它,还是有一个现有的函数可以这样做 我试过这样做: 从bs4导入美化组作为S soup=S(“Hejsa html{color:#0000ff}”) soup.comment#==无 soup.style#==html{color:#0000ff} 要搜索表单HTML注释,可以使用bs4.Comment键入: from bs4 import BeautifulSoup, Comment html_doc =
从bs4导入美化组作为S
soup=S(“Hejsa html{color:#0000ff}”)
soup.comment#==无
soup.style#==html{color:#0000ff}
要搜索表单HTML注释,可以使用bs4.Comment
键入:
from bs4 import BeautifulSoup, Comment
html_doc = '''
<!-- t --> <h1>Hejsa</h1> <style>html{color: #0000ff}</style>
'''
soup = BeautifulSoup(html_doc, 'html.parser')
# print comment:
comment = soup.find(text=lambda t: isinstance(t, Comment))
print( comment )
要提取它,请执行以下操作:
comment = soup.find(text=lambda t: isinstance(t, Comment))
# extract comment:
comment.extract()
print(soup.prettify())
印刷品:
t
<h1>
Hejsa
</h1>
<style>
html{color: #0000ff}
</style>
赫扎
html{color:#0000ff}
使用正则表达式
import re
html = "<!-- t --> <h1>Hejsa</h1> <style>html{color: #0000ff}</style>"
html = re.sub('<!--[\s\S]*-->', '', html).strip()
print(html)
重新导入
html=“Hejsa html{color:#0000ff}”
html=re.sub(“”,,,html).strip()
打印(html)
结果:
<h1>Hejsa</h1> <style>html{color: #0000ff}</style>
Hejsa html{color:#0000ff}