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

Glassdoor爬虫评分项顺序变动问题及解决方案咨询

Glassdoor评论评分项动态匹配解决方案

针对Glassdoor评论中评分项顺序不固定的问题,核心思路是基于每个评分项的父容器关联文本标签和对应评分,而非依赖固定索引定位。以下是具体实现方案:

1. DOM结构逻辑梳理

每个评分项(如“工作生活平衡”“企业文化”)都会被包裹在独立容器中,容器内同时包含:

  • 评分项的文本标签(如“Work/Life Balance”)
  • 对应评分的星星元素(class为css-xd4dom e1hd5jg10)

只要定位到每个评分项的父容器,就能确保文本和评分一一对应,不受项数变化影响。

2. 代码实现示例

方案一:使用BeautifulSoup(静态页面/已获取HTML源码)

from bs4 import BeautifulSoup

# 假设已获取页面HTML并解析为soup对象
reviews = soup.find_all("div", class_="review")  # 替换为实际评论容器的class或选择器

for review in reviews:
    # 定位当前评论下所有评分项的父容器
    rating_containers = review.find_all("div", class_="css-1c33izo e1hd5jg11")  # 替换为实际评分项容器的选择器
    rating_result = {}
    
    for container in rating_containers:
        # 提取评分项文本
        label = container.find("span", class_="css-1x2b9a8 e1hd5jg12").get_text(strip=True)
        # 提取评分值(从星星元素的aria-label属性中获取,格式通常为"4.0 stars")
        rating_elem = container.find("span", class_="css-xd4dom e1hd5jg10")
        rating_value = rating_elem.get("aria-label").split()[0]
        
        rating_result[label] = rating_value
    
    print("当前评论评分:", rating_result)

方案二:使用Selenium(动态渲染页面)

from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
driver.get("目标Glassdoor评论页面URL")

# 定位所有评论容器
reviews = driver.find_elements(By.CLASS_NAME, "review")

for review in reviews:
    # 定位当前评论下的所有评分项容器
    rating_containers = review.find_elements(By.CSS_SELECTOR, "div.css-1c33izo.e1hd5jg11")
    rating_result = {}
    
    for container in rating_containers:
        # 提取评分项文本
        label = container.find_element(By.CLASS_NAME, "css-1x2b9a8.e1hd5jg12").text.strip()
        # 提取评分值
        rating_elem = container.find_element(By.CLASS_NAME, "css-xd4dom.e1hd5jg10")
        rating_value = rating_elem.get_attribute("aria-label").split()[0]
        
        rating_result[label] = rating_value
    
    print("当前评论评分:", rating_result)

driver.quit()

关键注意事项

  • 务必根据实际页面DOM调整选择器:不同地区/版本的Glassdoor可能有class名变化,建议用浏览器开发者工具查看真实元素结构
  • 优先使用aria-label提取评分值:相比解析星星样式或数量,这个属性的取值更直接可靠
  • 处理异常场景:部分评论可能无评分项,需加判断避免报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 00:40:38