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

如何使用BeautifulSoup4提取HTML tr标签id属性值存入列表

问题原因与修复方案

核心错误点

  • doc.find_all('tr') 返回的是包含所有<tr>标签的列表集合,不是单个标签元素,不能直接对列表取['id']属性,必须遍历列表中的每一个<tr>元素单独提取属性。
  • 并非所有<tr>标签都带有id属性,直接强制提取会抛出KeyError异常,需要先判断元素是否存在id属性再做提取。
  • 如果执行后完全无输出也无报错,大概率是目标页面的表格内容是前端JavaScript动态渲染的,静态请求requests.get()拿到的原始HTML里根本没有对应<tr>内容,所以find_all('tr')返回空列表,后续也没有输出。

修正后的静态提取代码(适用于静态渲染页面)

import requests
from bs4 import BeautifulSoup

url = "https://brawlify.com/stats/club/V8GVVR0R"
result = requests.get(url).text
doc = BeautifulSoup(result, "html.parser")

tr_tags = doc.find_all('tr')
id_list = []
for tr in tr_tags:
    # 先判断tr标签是否存在id属性
    if tr.get('id'):
        id_list.append(tr['id'])

print(id_list)

动态渲染页面解决方案

如果上述代码还是返回空列表,说明目标内容是JS动态加载的,可改用Selenium、Playwright等模拟浏览器执行的工具获取渲染后的页面内容再提取。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 19:15:03