📜  python 删除 html 标签 - Python (1)

📅  最后修改于: 2023-12-03 14:46:13.186000             🧑  作者: Mango

Python 删除 HTML 标签

在 Web 开发中,我们经常需要从 HTML 文本中提取纯文本并且过滤掉其中的 HTML 标签。Python 提供了多种方法来实现这个功能。

使用正则表达式

正则表达式是一种强大的字符串处理工具,可以用来在文本中搜索、匹配和替换字符串。使用正则表达式可以很轻松地删除 HTML 标签,下面是一个简单的例子:

import re

def remove_tags(html):
    """
    删除 HTML 标签并返回纯文本
    """
    pattern = re.compile('<.*?>')
    return re.sub(pattern, '', html)

这个函数使用了 re.sub() 函数对 HTML 标签进行替换。<.*?> 表示匹配任意字符,直到遇到第一个 > 符号为止。compile() 函数可以把这个正则表达式编译成一个模式对象,以提高性能。

使用第三方库

除了使用正则表达式外,还可以使用第三方库来删除 HTML 标签。下面是使用 beautifulsoup4 库的例子:

from bs4 import BeautifulSoup

def remove_tags(html):
    """
    删除 HTML 标签并返回纯文本
    """
    soup = BeautifulSoup(html, 'html.parser')
    return soup.get_text()

这个函数使用了 BeautifulSoup 类,它可以自动将 HTML 文本转换成一个树形结构,并提供了一些便捷的方法来获取文本内容和标签属性。

总结

本文介绍了 Python 中删除 HTML 标签的两种方法:使用正则表达式和使用第三方库。正则表达式比较灵活,并且可以自定义规则来匹配各种标签;而第三方库则更加方便,可以节省大量代码。根据实际需求来选择合适的方法。