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

如何使用Selenium爬取Influenster商品页面的星级评分?

Influenster商品评论星级爬取方案

针对你提供的商品页面,星级评分是通过填充状态的星星图标实现的,没有直接的数值文本,但可以通过统计已填充的星星数量来获取星级。以下是具体修改方案:

核心思路

页面中的每颗星星对应一个DOM元素,已填充的星星会带有特定类名(比如filled)。定位到单条评论下的所有星星元素后,统计其中带filled类的数量,就是该评论的星级评分。

修改后的代码片段

在你的循环逻辑中添加星级获取代码:

for review in reviews:
    # 获取星级:统计带filled类的星星数量
    star_elements = review.find_elements(By.CSS_SELECTOR, ".stars .star")
    stars = sum(1 for star in star_elements if 'filled' in star.get_attribute('class'))
    
    item={  
         'stars': stars,     
        'username': review.find_element(By.XPATH, ".//a[contains(@class,'name')]").text,
        'userurl':review.find_element(By.XPATH, ".//a[contains(@class,'name')]").get_attribute("href"),
        'title': 'NA',
        # 其他字段按需启用
        # 'review_text':review.find_element(By.XPATH, ".//div[contains(@class,'review-text')]").text,
        # 'permalink': 'NA',
        # 'date':curr_date,
        # 'subproduct name': 'NA',
        # 'subproduct link': 'NA',
    }
    item_list.append(item)
print(item_list)

补充说明

  1. 注意替换旧写法find_element_by_xpath为find_element(By.XPATH, ...)——新版本Selenium已弃用旧API,建议统一使用新写法。
  2. 若页面星星的填充类名不是filled,可通过浏览器开发者工具(F12)查看星星元素的class属性,调整判断条件。
  3. 若遇到评论加载不完全的情况,可在获取星星前增加短暂等待,或针对单条评论内的星星元素做显式等待。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 10:25:22