使用BeautifulSoup获取div的分隔内容
我想从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'
有什么建议吗?谢谢!
2 个回答
3
你也可以使用getText()这个函数。getText()有一个可选的参数,可以用来设置分隔符。
BeautifulSoup(sampleHTML).getText(' ').strip()
strip()这个函数是用来去掉字符串开头和结尾的空格的。
1
我最后选择使用内容方法来获取我想要的信息,这比使用文本方法要好,因为这样就不需要进行一些文本解析了。
所以,总的来说,使用内容方法,或者可以看看Jouni留下的链接,那里有其他的答案。