2011-08-16 28 views
4
from BeautifulSoup import BeautifulSoup 

html = "<html><p>Para 1. Words</p><p>Merge. Para 2<blockquote>Quote 1<blockquote>Quote 2</p></html>" 
print html 
soup = BeautifulSoup(html) 
print u''.join(soup.findAll(text=True)) 

该代码的输出是“Para 1 WordsMerge。Para 2Quote 1Quote 2”。当用美丽的汤剥离HTML时保留空间

我不希望第一段的最后一个字与第二段的第一个字合并。 例如。 “Para 1 Words Merge。Para 2 Quote 1 Quote 2”。 这可以使用BeautifulSoup库来实现吗?

回答

8

用空格刚刚加入的作品:

print u' '.join(soup.findAll(text=True)) 
6

如果你是在4.x版本使用get_text()

from bs4 import BeautifulSoup 
... 
... 
soup.get_text(" ")