提取元素并插入空格

时间:2011-06-24 11:22:28

标签: python html-parsing beautifulsoup

我在python中使用BeautifulSoup解析html

我不知道如何在提取文本元素时插入空格

这是代码:

import BeautifulSoup
soup=BeautifulSoup.BeautifulSoup('<html>this<b>is</b>example</html>')
print soup.text

然后输出

  

thisisexample

但我想在此处插入一个空格

  

是例子

我如何插入空格?

3 个答案:

答案 0 :(得分:38)

改为使用getText

import BeautifulSoup
soup=BeautifulSoup.BeautifulSoup('<html>this<b>is</b>example</html>')

print soup.getText(separator=u' ')
# u'this is example'

答案 1 :(得分:2)

如果您的Beautifulsoup版本没有getText,那么您可以这样做:

In [26]: ' '.join(soup.findAll(text=True))
Out[26]: u'this is example'

答案 2 :(得分:0)

可能还需要将带参数用作参数

bs = BeautifulSoup("<html>this<b>is  </b>example</html>")
print(bs.get_text())  # thisis  example
print(bs.get_text(separator=" "))  # this is   example
print(bs.get_text(separator=" ", strip=True))  # this is example