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

如何使用Beautiful Soup提取<tr>标签名称及指定属性值CLN8

嘿,这两个Beautiful Soup的问题我来帮你搞定!

问题1:如何提取<tr>标签的名称?

如果你说的是获取<tr>标签本身的标签名(也就是字符串tr),那很简单——当你用Beautiful Soup定位到这个标签后,直接访问它的.name属性就可以了。举个实际的代码例子:

from bs4 import BeautifulSoup

# 假设你已经有了目标HTML内容,存在html变量里
soup = BeautifulSoup(html, 'html.parser')
# 找到第一个<tr>标签
tr_tag = soup.find('tr')

if tr_tag:
    # 获取标签名称
    tag_name = tr_tag.name
    print(tag_name)  # 控制台会输出: tr

如果你的意思是要提取<tr>标签里某个属性的名称(比如它带的data-table-chart-alt-symbol这类属性键),可以用.attrs属性拿到所有属性的字典,然后遍历键就行:

if tr_tag:
    # 获取所有属性的名称(键)
    attribute_names = tr_tag.attrs.keys()
    print(list(attribute_names))  # 输出类似: ['data-table-chart-alt-symbol', 'data-table-chart-symbol']

问题2:提取字符串“CLN8”

看你给出的HTML,“CLN8”是<tr>标签的data-table-chart-alt-symbol属性的值。我们只需要定位到这个<tr>标签,然后提取对应属性的值就行,有两种常用方法:

from bs4 import BeautifulSoup

# 把你提供的HTML内容存到变量里
html = '''<tr data-table-chart-alt-symbol="CLN8" data-table-chart-symbol="@CL.1"> <td class="first text" data-field="symbol"><a href="//www.cnbc.com/quotes/?symbol=%40CL.1">OIL</a></td> <td data-field="last"></td> <td class="arrow" data-field="change_arrow"><div class="icon unch">---</div></td> <td data-field="change"></td> <td data-field="change_pct"></td> <td data-field="volume"></td> </tr>'''

soup = BeautifulSoup(html, 'html.parser')
tr_tag = soup.find('tr')

# 方法1: 使用get()方法(推荐,属性不存在时不会报错,会返回None)
cln8_value = tr_tag.get('data-table-chart-alt-symbol')

# 方法2: 直接通过字典键访问(属性不存在时会抛出KeyError)
# cln8_value = tr_tag['data-table-chart-alt-symbol']

print(cln8_value)  # 控制台会输出: CLN8

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:11:52