如何使用BeautifulSoup去除html,保留像textContent这样的换行符?

时间:2016-08-22 08:11:55

标签: python beautifulsoup newline whitespace

这就是我所拥有的:

>>> from bs4 import BeautifulSoup
>>> BeautifulSoup("<p>Hello</p>\n\n<p>World</p>").get_text()
u'Hello\nWorld'

空白大部分都被保留了,但是,如上例所示,新行不是。我想在没有任何空白规范化的情况下剥离HTML,匹配javascript的textContentBeautifulSoup可以这样做吗?

1 个答案:

答案 0 :(得分:1)

而不是默认解析器html.parser,安装html5lib可以解决问题:

pip install html5lib
...
>>> BeautifulSoup("<p>Hello</p>\n\n<p>World</p>", "html.parser").get_text()
u'Hello\nWorld'
>>> BeautifulSoup("<p>Hello</p>\n\n<p>World</p>", "html5lib").get_text()
u'Hello\n\nWorld'

请参阅installing-a-parser