我想用bs4获取两个标签之间的HTML。有没有办法在美丽的汤中做javascript' s .HTMLHTML?
这是找到类" title"的跨度的代码,并从中获取文本。
def get_title(soup):
title = soup.find('span', {'class': 'title'})
return title.text.encode('utf-8')
此函数错误地返回没有下标的跨度文本。 'Title about H2O and CO2'
以下代码是title = soup.find('span', {'class': 'title'})
:
<span class="title">Title about H<sub>2</sub>O and CO<sub>2</sub></span>
如何在没有原始范围的情况下获得结果?
期望的结果:'Title about H<sub>2</sub>O and CO<sub>2</sub>'
?
答案 0 :(得分:1)
在发现JavaScript有.innerHTML后,我能够以美妙的方式谷歌。我在this question找到了答案。
使用BS4选择元素后,您可以使用.decode_contents(formmater='html')
获取innerHTML。
element.decode_contents(formatter="html")