python 中,如果想从带有 html 中的富文本内容中,提取文本有很多种方法。
html2text(推荐)
html2text 顾名思义就是为了这种场景而设计的,它会去掉标签只保留文本信息。相关信息网址:https://pypi.org/project/html2text/
通过 pip 命令进行安装,命令如下:
pip3 install html2text
使用更加简便,直接调用 html2text
函数即可,示例如下:
import html2text
txt = html2text.html2text('<p>坚持就是胜利</p>')
print(type(txt))
print(txt)
返回 str
类型的纯文本信息。
BeautifulSoup
安装命令如下:
pip install beautifulsoup4
具体使用示例如下:
from bs4 import BeautifulSoup
html = '<p>坚持就是胜利</p>'
soup = BeautifulSoup(html, 'html.parser')
txt = soup.get_text()
print(type(txt))
print(txt)
lxml
也可以使用 lxml 库,它支持 HTML 和 XML 的解析,支持 XPath 解析方式,而且解析效率非常高。
import lxml.html
html = '<p>坚持就是胜利</p>'
string = lxml.html.document_fromstring(html)
print(type(string))
raw_text = string.text_content()
print(type(raw_text))
print(raw_text)