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

BeautifulSoup如何定位同一父标签下对应分类的商品价格标签

BeautifulSoup 同分类下关联价格提取方案

你当前遍历到的class="category"分类节点,和对应价格节点是同级元素,共同嵌套在最外层class="products_results"的父section标签下,直接在当前分类节点的父容器范围内检索价格标签即可,不会误抓其他分类的价格数据。

推荐实现代码

for category_node in soup.find_all(class_='category'):
    # 加strip()清除文本首尾的换行、缩进空格,避免因隐藏字符导致分类匹配失败
    category_name = category_node.text.strip()
    if category_name == 'Clothes':
        # 定位当前分类所属的父容器
        parent_section = category_node.parent
        # 仅在父容器范围内查找价格标签,不会跨分类检索
        price_tag = parent_section.find(class_='price')
        price = price_tag.text.strip()
        # 若需要数值格式可自行转换:price = float(price)

备选方案(容错率更低)

如果页面结构固定,分类节点和对应价格节点之间的无关节点不会动态增减,也可以直接查找当前分类节点后续的第一个价格标签:

price = category_node.find_next(class_='price').text.strip()

注意:这种写法如果后续HTML结构调整,中间插入了其他分类的价格标签,会出现匹配错误,优先推荐父容器范围查找的写法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 06:33:21