You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Beautiful Soup提取<img>标签后的文本?

解决方法

你要提取的是<img>标签紧随其后的文本,这段内容在Beautiful Soup中属于img标签的下一个兄弟节点(NavigableString类型),可以通过以下步骤实现:

  1. 定位到目标<img>标签
  2. 调用.next_sibling获取它后面的文本节点
  3. 清理文本中的多余空格和引号

示例代码

from bs4 import BeautifulSoup

html = '''
<span content>"text"
    <img content src="/assets/images/photo.png">"Text I would like to grab"
    <span content class="classname">Text</span>
</span>
'''

soup = BeautifulSoup(html, 'html.parser')
# 定位目标img标签,若页面有多个img,可结合src属性精准筛选
img_tag = soup.find('img', src='/assets/images/photo.png')
# 清理文本:去除前后空白和包裹的双引号
target_text = img_tag.next_sibling.strip().strip('"')
print(target_text)  # 输出: Text I would like to grab

补充说明

  • 如果需要批量处理多个类似结构的标签,可以用.find_all()遍历所有符合条件的img标签,再逐个提取后续文本
  • 若实际场景中文本没有被双引号包裹,可去掉.strip('"')这一步

内容的提问来源于stack exchange,提问作者Userq9314812382

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 04:26:05