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

使用Python3+Beautiful Soup从多元素HTML中提取data-ppu值失败如何解决

问题原因

你代码有两个明显问题:

  1. find()方法的第一个参数是用来查找匹配的HTML标签名,而data-ppu是<input>标签的自定义属性,不是标签名称,因此自然无法检索到结果。
  2. 循环变量和外层遍历的trade_data重名,会引发逻辑异常,建议修改循环变量名避免冲突。

解决方案

BeautifulSoup中提取标签属性的逻辑是:先定位到目标标签对象,再通过下标或者get()方法读取对应属性值。
你可以根据你的trade_data实际结构选择对应写法:

情况1:trade_data中的每个元素是包含目标input的上层节点

for index, trade_item in enumerate(trade_data):
    # 先定位class为tradeForm的input标签
    target_input = trade_item.find('input', class_='tradeForm')
    # 提取data-ppu属性,get方法在属性不存在时会返回None,不会抛异常
    price = target_input.get('data-ppu')
    print(price)

情况2:trade_data中的每个元素本身就是目标input标签对象

for index, trade_item in enumerate(trade_data):
    price = trade_item.get('data-ppu')
    print(price)

运行上述代码就能输出你需要的3893结果。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 03:48:03