首页 文章

从BeautifulSoup 4.6中的两个HTML标记之间提取HTML

提问于
浏览
1

我想用bs4获取两个标签之间的HTML . 有没有办法在美丽的汤中做javascript的.innerHTML?

这是找到类“title”的 Span 的代码,并从中获取文本 .

def get_title(soup):
title = soup.find('span', {'class': 'title'})
return title.text.encode('utf-8')

此函数错误地返回没有下标的 Span 文本 . '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>

如何在没有原始 Span 的情况下获得结果?

期望的结果: 'Title about H<sub>2</sub>O and CO<sub>2</sub>'

1 回答

  • 1

    在发现JavaScript有.innerHTML后,我能够以美丽的汤来谷歌 . 我在this question找到了答案 .

    使用BS4选择元素后,可以使用 .decode_contents(formmater='html') 获取innerHTML .

    element.decode_contents(formatter="html")
    

相关问题