我在python中使用BeautifulSoup解析html
我不知道如何在提取文本元素时插入空格
这是代码:
import BeautifulSoup
soup=BeautifulSoup.BeautifulSoup('<html>this<b>is</b>example</html>')
print soup.text
然后输出
thisisexample
但我想在此处插入一个空格
是例子
我如何插入空格?
答案 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