python - 我必须抓取一个div,它里面有2个标签 <img> 和 <sup> 我需要sup标签的内容,但我必须删除img标签的内容

标签 python html web-scraping beautifulsoup

示例 html 代码:

<div>
Hello everyone how are you
<sup>Hello hi</sup>
<figure>Blah Blah<img /><figure>
</div>

我尝试在BeautifulSoup中使用decompose()函数,但它也破坏了sup标签。谁能帮帮我吗?

最佳答案

获取 <sup> 的文本标签:

from bs4 import BeautifulSoup


html_doc = """\
<div>
Hello everyone how are you
<sup>Hello hi</sup>
<figure>Blah Blah<img /></figure>
</div>"""

soup = BeautifulSoup(html_doc, "html.parser")

print(soup.sup.text)

打印:

Hello hi

删除<img />标签:

soup.img.extract()
print(soup.div)

打印:

<div>
Hello everyone how are you
<sup>Hello hi</sup>
<figure>Blah Blah</figure>
</div>

关于python - 我必须抓取一个div,它里面有2个标签 <img> 和 <sup> 我需要sup标签的内容,但我必须删除img标签的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73436087/

相关文章:

python - python 基类如何判断子类是否重写了它的方法?

javascript - 在网络音频缓冲区中安排回调

python - Beautifulsoup:findAll 递归不起作用

python - 给定尺寸的值范围的组合

python - 在 Python 中追加列表

python - python中的多级字典

javascript - 如何获取选择属性的选项的值

javascript - 刷新后,JS 脚本在部分 View 中不起作用

python-3.x - 从 Metacritic 抓取游戏数据的问题

python - 无法将字符串和列表从一个函数返回到另一个函数