Python,获取html文档的文本值

时间:2013-08-27 18:58:08

标签: python python-2.7

我的问题很简单,我有一个包含html标签的字符串 我只想从该字符串中获取实际文本值,例如:

html string:

<strong><p> hello </p><p> world </p></strong>

文字值:你好世界

是否有能够做到这一点的功能?

1 个答案:

答案 0 :(得分:3)

您可以使用BeautifulSoupget_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

希望有所帮助。