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

Scraping如何提取span标签data-content属性中的评分与评论数

核心逻辑:你需要的评分和评论数都存储在class为rating的span标签的data-content属性中,提取该属性后通过正则匹配或字符串拆分即可拿到目标值。

方法1:正则匹配(推荐,容错性更高)

import re
# 原有获取flex的代码保持不变
for rating in flex.find_all("div", class_="article-seller-rating m-t-1"):
    # 提取data-content属性值
    data_content = rating.find("span", class_="rating")["data-content"]
    # 匹配小数点格式的评分
    score = re.search(r"(\d+\.\d+) out of 5 stars", data_content).group(1)
    # 匹配整数格式的评论数
    review_num = re.search(r"Number of reviews: (\d+)", data_content).group(1)
    # 转换为数值类型按需使用
    score = float(score)
    review_num = int(review_num)
    # 测试打印
    print(score, review_num)

方法2:HTML解码后字符串拆分

如果不想用正则,也可以先解码属性里的转义HTML字符,再按<br>标签拆分取对应字段:

import html
# 原有获取flex的代码保持不变
for rating in flex.find_all("div", class_="article-seller-rating m-t-1"):
    data_content = rating.find("span", class_="rating")["data-content"]
    # 解码转义的<br>标签
    decoded = html.unescape(data_content)
    # 按<br>拆分内容
    content_parts = decoded.split("<br>")
    # 取对应位置拆分取值
    score = float(content_parts[2].split()[0])
    review_num = int(content_parts[3].split(": ")[1])
    # 测试打印
    print(score, review_num)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 09:48:01