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

如何打印Beautiful Soup中findAll返回结果里首个source标签的data-srcset链接

代码实现逻辑

前提

你已经通过BeautifulSoup的findAll方法拿到了目标div节点列表,示例获取代码如下(如果你还没写这部分可以参考):

import requests
from bs4 import BeautifulSoup

# 请求网页部分
url = "你的目标网页地址"
resp = requests.get(url)
soup = BeautifulSoup(resp.text, 'html.parser')

# 已拿到的目标div节点列表
div_list = soup.find_all('div', class_='nfl-c-photo-album__picture-wrapper')

核心提取代码

img_urls = []

for div_node in div_list:
    # 定位嵌套的source标签
    picture_tag = div_node.find('picture')
    if not picture_tag:
        continue
    source_tag = picture_tag.find('source')
    if not source_tag or 'data-srcset' not in source_tag.attrs:
        continue
    # 处理srcset内容提取首个链接
    srcset_raw = source_tag['data-srcset']
    # 按逗号拆分取第一条,去除空格后拆分掉末尾的尺寸标识
    first_img_url = srcset_raw.split(',')[0].strip().split()[0]
    img_urls.append(first_img_url)

注意事项

  • 代码中加入了多层非空校验,避免部分节点结构缺失导致的AttributeError报错
  • data-srcset属性的标准格式为多组链接 尺寸标识用逗号分隔,所以拆分后要过滤掉尺寸标识才能拿到纯链接
  • 如果你确认所有目标节点结构完全一致,可以去掉非空校验简化代码

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 19:54:08