插件窝 干货文章 python怎么去除html标签

python怎么去除html标签

HTML BeautifulSoup 段落 text 785    来源:    2023-12-04

在Python中,可以使用正则表达式或者第三方库来去除HTML标签。

使用正则表达式的方法如下:

import re

def remove_html_tags(html):
    # 定义匹配HTML标签的正则表达式
    pattern = re.compile(r'<[^>]+>', re.S)
    # 使用sub方法将匹配到的HTML标签替换为空字符串
    result = re.sub(pattern, '', html)
    return result

# 示例
html = '<p>这是一个<b>粗体</b>的段落。</p>'
text = remove_html_tags(html)
print(text)

输出结果为:这是一个粗体的段落。

另外,还可以使用第三方库BeautifulSoup来解析HTML,并获取其中的纯文本内容。安装BeautifulSoup库后,可以使用以下代码:

from bs4 import BeautifulSoup

def remove_html_tags(html):
    soup = BeautifulSoup(html, 'html.parser')
    text = soup.get_text()
    return text

# 示例
html = '<p>这是一个<b>粗体</b>的段落。</p>'
text = remove_html_tags(html)
print(text)

输出结果同样为:这是一个粗体的段落。

需要注意的是,以上方法只能去除HTML标签,如果HTML中包含一些特殊字符实体(如&nbsp;代表空格),则需要进一步处理。