使用Python中的BeautifulSoup进行内联解析

时间:2010-01-22 22:35:24

标签: python beautifulsoup html

我正在使用BeautifulSoup编写HTML文档,我希望它不会将内联文本(例如<p>标记内的文本)拆分为多行。我得到的问题是用美化解析<p>a<span>b</span>c</p>给我输出

<p>
  a
<span>
b
</span>
c
</p>

现在HTML显示a,b,c之间的空格,这是我不想要的。我该如何避免这种情况?

2 个答案:

答案 0 :(得分:2)

根本不使用prettify怎么样?

BeautifulSoup.BeautifulSoup('<p>a<span>b</span>c</p>').renderContents()

输出原始HTML,没有额外的空格。你可以用例如Firebug后来仔细查看文档的结构,无需在构建时“美化”它。

答案 1 :(得分:0)

我只是这样做:

from BeautifulSoup import BeautifulSoup

ht = '<p>a<span>b</span>c</p>'
soup = BeautifulSoup(ht)
print soup

并避免获得任何额外的空格。 prettify的工作就是调整空格,以便清楚地显示HTML解析树的结构,毕竟......!