我的问题很简单,我有一个包含html标签的字符串 我只想从该字符串中获取实际文本值,例如:
html string:
<strong><p> hello </p><p> world </p></strong>
文字值:你好世界
是否有能够做到这一点的功能?
答案 0 :(得分:3)
您可以使用BeautifulSoup的get_text()
功能:
from bs4 import BeautifulSoup
text = "<strong><p> hello </p><p> world </p></strong>"
soup = BeautifulSoup(text)
print soup.get_text() # prints " hello world "
或者,您可以使用nltk:
import nltk
text = "<strong><p> hello </p><p> world </p></strong>"
print nltk.clean_html(text) # prints "hello world"
另一种选择是使用html2text,但它的行为有点不同:例如: strong
替换为*
。
另见相关主题:Extracting text from HTML file using Python
希望有所帮助。