📅  最后修改于: 2023-12-03 15:19:31.754000             🧑  作者: Mango
在处理存有 HTML 内容的列表时,有时候需要将 HTML 标签去掉,只保留纯文本内容。Python 提供了多种方法来实现这个任务。
使用正则表达式可以方便地匹配和删除 HTML 标签。可以将所有尖括号及其之间的内容匹配出来,并用空字符串替换。示例如下:
import re
html_list = ["<p>这是一个段落。</p>", "<div>这是一个 DIV。</div>"]
text_list = []
for html in html_list:
text = re.sub('<[^<]+?>', '', html)
text_list.append(text)
print(text_list)
输出结果为:
['这是一个段落。', '这是一个 DIV。']
需要注意的是,正则表达式不适用于所有 HTML 内容。对于某些异常的 HTML 内容,可能需要使用其他方法。
Beautiful Soup 是一种流行的 Python 库,用于解析 HTML 和 XML 文档。它提供了多种方法来处理 HTML 内容。可以使用 Beautiful Soup 提供的 get_text()
方法来提取 HTML 中的纯文本内容,并获得一个包含所有纯文本内容的字符串。示例如下:
from bs4 import BeautifulSoup
html_list = ["<p>这是一个段落。</p>", "<div>这是一个 DIV。</div>"]
text_list = []
for html in html_list:
soup = BeautifulSoup(html, "html.parser")
text = soup.get_text()
text_list.append(text)
print(text_list)
输出结果为:
['这是一个段落。', '这是一个 DIV。']
需要注意的是,使用 Beautiful Soup 可能会涉及一些安装和配置工作,而且可能会增加一些运行时间。
Python 的字符串类提供了多种加强型方法,用于处理字符串。可以使用这些方法来去除 HTML 标签。
html_list = ["<p>这是一个段落。</p>", "<div>这是一个 DIV。</div>"]
text_list = []
for html in html_list:
text = html.replace("<p>", "").replace("</p>", "").replace("<div>", "").replace("</div>", "")
text_list.append(text)
print(text_list)
输出结果为:
['这是一个段落。', '这是一个 DIV。']
需要注意的是,这种方法仅适用于 HTML 内容简单的情况。对于嵌套标签等较复杂的 HTML,可能需要使用其他方法。
综上所述,Python 提供了多种方法来从列表项中删除 HTML。可以根据具体情况选择合适的方法。