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

Python如何使用Soup提取HTML标签的data-x、data-y自定义属性值

解决方法

BeautifulSoup 访问data-*类自定义属性可以用以下两种方式,操作前请先定位到目标元素:

from bs4 import BeautifulSoup

# 传入你的HTML内容初始化soup
html_content = '''<span class="coordinatesGrid" data-x="-33" data-y="9" data-did="276" data-villagename="A">'''
soup = BeautifulSoup(html_content, 'html.parser')
# 按class定位到目标span标签
target_tag = soup.find('span', class_='coordinatesGrid')
  • 方法1:字典式直接取值(属性确定存在时使用)
data_x = target_tag['data-x']
data_y = target_tag['data-y']
  • 方法2:get()方法取值(属性不存在时会返回None,不会抛出异常,容错性更高)
data_x = target_tag.get('data-x')
data_y = target_tag.get('data-y')

注意:不能用target_tag.data-x的方式取值,Python语法不允许标识符携带减号,会被识别为减法运算导致报错。

执行完成后data_x、data_y就能分别拿到-33和9的对应值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 21:51:02