我正在使用BeautifulSoup解析html页面中的一些内容。
我可以从html中提取我想要的内容(即包含在由myclass定义的span
中的文本)。
result = mycontent.find(attrs={'class':'myclass'})
我得到这个结果:
<span class="myclass">Lorem ipsum<br/>dolor sit amet,<br/>consectetur...</span>
如果我尝试使用以下方法提取文本:
result.get_text()
我得到:
Lorem ipsumdolor sit amet,consectetur...
正如您所看到的,当标签<br>
被删除时,内容之间不再有间隔,两个单词被浓缩。
我怎样才能解决这个问题?
如果您使用的是bs4,则可以使用^{} :
result.get_text(separator=" ")
应该可以。使用“contents”,然后替换
<br>
?下面是一个完整的(工作、测试)示例:
结果:
这比肖恩的非常简洁的解决方案要复杂得多,但是由于我说过我会按照我所指明的路线创建和测试一个解决方案,所以我决定兑现我的承诺。你可以更好地看到这里发生的事情-
<br/>
是它自己在result.contents
元组中的元素,但是当转换成字符串时,“什么都没有了”。相关问题 更多 >
编程相关推荐