Python 基础教程

Python 高级教程

Python 相关应用

Python 笔记

Python FAQ

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/python-extract-text-from-html.html

python 过滤去掉 html 中的 tag 标签并提取文本内容的几种方法

Python 笔记 Python 笔记


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)

 

通过 java 如何从类似 html 标签中,提取相应的内容,除了正则表达式的方式,还有哪些比较好的解决方法? ...
在Django模板中,truncatechars_html是一个内置的模板过滤器,用于截断包含HTML标签的文本内容。常见的使用场景包括:新 ...
Redis 基于 Java 的客户端非常多,其中比较常用的有 Jedis、lettuce 及 Redisson,此外还有 aredis、JD ...
在Django中,verbatim是一个模板标签,其主要作用是让Django模板系统忽略标签中的内容,直接原样输出内容,不进行任何解析。它的 ...
Linux 的 cut 命令用来从一个文本文件或者文本流中提取文本列。cut 经常用来显示指定文件的内容,不显示其它字段的内容。 ...