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

如何从Python爬虫获取的li标签列表项中提取特定数值

方法1:直接基于标签文本分割(最简单,适配你当前的固定格式场景)

你当前拿到的towing是BeautifulSoup的Tag对象列表,不需要把整个Tag转成字符串处理,直接提取标签内的纯文本做分割即可,天然支持整数和小数:

# 先取匹配到的第一个标签
towing_tag = towing[0]
# 提取标签内纯文本并去除首尾空白
spec_text = towing_tag.get_text(strip=True)
# 按冒号分割一次,取后半部分的数值字符串
value_str = spec_text.split(':', 1)[1].strip()
# 转成数值,要整数用int,要支持小数用float
towing_cap = float(value_str)
# 如果确定是整数也可以直接转int:towing_cap = int(value_str)
print(towing_cap)

这种方法不需要额外依赖,结构固定的情况下效率最高,不会误提取标签属性里的其他数字。

方法2:正则匹配(适配复杂场景,包含千分位、多余字符的情况)

如果数值前后可能有其他无关字符、或者有千分位逗号(比如Maximum Trailering Capacity (lbs.): 7,730.5),可以用正则提取数值部分:

import re

towing_tag = towing[0]
spec_text = towing_tag.get_text(strip=True)
# 匹配所有数字、小数点、千分位逗号
match_res = re.search(r'[\d,.]+', spec_text)
if match_res:
    # 去掉千分位的逗号
    value_str = match_res.group().replace(',', '')
    towing_cap = float(value_str)
    print(towing_cap)

这种方法兼容性更强,哪怕后续网页的文本格式有小变动也能正常提取数值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 03:48:02