首页 文章

在刮取文本的其余部分时从 Span 中删除<sup>标记中的文本

提问于
浏览
1

我正在尝试用漂亮的汤来刮取文本,我需要从具有特定类的 Span 内获取文本,但是丢弃同一 Span 内的上标数字与不同的类 . 我可以很容易地使用get_text从span中提取数字和内容,但我最终也得到了上标数字 . 解决方案需要能够丢弃sup标签的每个实例及其文本内容 .

示例HTML:

<span class="woj">
 <sup class="versenum">
  16
 </sup>
  The text I want
</span>

我现在得到的:16我想要的文字

我想要的:我想要的文字

1 回答

  • 1

    您可以使用 .sup.extract() 提取所有sup标签

    html = '<span class="woj"><sup class="versenum">16</sup>The text I want</span>'
    
    parsed_element = bs.BeautifulSoup(html, 'html.parser')
    [s.extract() for s in parsed_element('sup')]
    text = parsed_element.text
    

相关问题