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

Metacritic数据爬取:如何正确提取游戏开发商(Developer)数据

你尝试编写的提取代码不可行,该选择器只会匹配到「Developer」标签文本本身,无法获取对应的开发商名称,且如果页面存在多个class为label的span元素会匹配错误。以下是可稳定运行的修改方案,所有修改针对游戏详情数据爬取脚本:

修改步骤

  1. 新增Excel表头
    找到脚本中定义Excel表头的部分,新增Developer列的表头:
worksheet.write(0, 7, "User Rate Count")
# 新增下面这行
worksheet.write(0, 8, "Developer")
  1. 新增开发商数据提取逻辑
    在提取完发行商数据的代码段后,新增开发商提取代码:
publishers_list = []
publishers = data['publisher']
for pb in publishers:
    publishers_list.append(pb['name'])

# ==========新增开发商提取逻辑开始==========
developer_list = []
try:
    # 定位到侧边详情栏的所有信息条目
    detail_items = soup.select('div.details.side_details li')
    for item in detail_items:
        label_ele = item.find('span', class_='label')
        # 匹配到Developer标签的条目
        if label_ele and label_ele.text.strip() == 'Developer:':
            # 优先提取带链接的开发商名称(支持多个开发商)
            dev_eles = item.find_all('a')
            if dev_eles:
                for dev in dev_eles:
                    developer_list.append(dev.text.strip())
            # 无链接的情况直接提取标签后的文本
            else:
                dev_text = label_ele.next_sibling.strip()
                if dev_text:
                    developer_list.append(dev_text)
except:
    # 无开发商数据的场景留空即可,不中断爬取
    pass
# ==========新增开发商提取逻辑结束==========
  1. 新增开发商数据写入逻辑
    找到写入Excel的代码段,新增Developer列的写入:
worksheet.write(row, 7, user_rate_count)
# 新增下面这行
worksheet.write(row, 8, ", ".join(developer_list))
row += 1

注意事项

  • 以上逻辑兼容单开发商、多开发商、无开发商、开发商无跳转链接等多种场景,稳定性更高
  • 如果担心被反爬,可以把注释掉的time.sleep(2)打开,降低请求频率

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 20:54:03