【发布时间】:2014-01-30 09:44:57
【问题描述】:
我正在使用 BeautifulSoup 解析 HTML。最后,我想获得body 的内容,但没有body 标签。但是 BeautifulSoup 添加了html、head 和body 标签。我this googlegrops discussion提出了一种可能的解决方案:
>>> from bs4 import BeautifulSoup as Soup
>>> soup = Soup('<p>Some paragraph</p>')
>>> soup.body.hidden = True
>>> soup.body.prettify()
u' <p>\n Some paragraph\n </p>'
这个解决方案是一个 hack。应该有更好更明显的方法来做到这一点。
【问题讨论】:
-
尽管有所有答案,但我仍然发现 .hiddden=True 方法是最干净的方法。如果字符串结果就足够了,另一个技巧是截断正文标签:
str(soup.body)[6:-7]或soup.body.prettify()[6:-7]
标签: python django beautifulsoup html5lib