我希望从BeautifulSoup中正确分隔文本,必要时将标记转换为空格。问题是新行被折叠,像<br/>
这样的标记不会呈现为空格。
<div class="companyInfo">
<p class="identInfo">
<acronym title="Standard Industrial Code">
SIC
</acronym>
:
<a href="/?SIC=3674">
3674
</a>
- SEMICONDUCTORS & RELATED DEVICES
<br />
State location: CA
</p>
</div>
如果我运行BeautifulSoup(sampleHTML).text,我会得到以下内容:
u'SIC:3674- SEMICONDUCTORS & RELATED DEVICESState location: CA'
我想得到正确处理空白的东西,如下:
u'SIC : 3674 - SEMICONDUCTORS & RELATED DEVICES State location: CA'
有什么建议吗?谢谢!
答案 0 :(得分:2)
您也可以使用getText()函数。 getText()具有分隔符的可选参数。
BeautifulSoup(sampleHTML).getText(' ').strip()
strip()用于删除任何前导和尾随空格。
答案 1 :(得分:1)
我最终使用内容方法从各个节点获取我想要的信息。事实证明这比使用text方法更好,因为它避免了对某些文本解析的需要。
因此,最后,使用内容方法或按照Jouni离开的链接并查看答案。