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

如何用Python BeautifulSoup从商品标题中提取酒精度数?

提取商品标题中的酒精度数

观察目标页面的商品标题格式(示例标题类似 Monkey 47 Dry Gin 47 Vol. 0,50l),酒精度数以「数字 + Vol.」的形式呈现,我们可以用正则表达式精准提取。

实现步骤

  1. 导入Python正则模块 re
  2. 编写匹配规则,定位Vol.前的数字内容
  3. 对已获取的productnaam执行匹配,提取结果并赋值给alcoholpercentage

完整代码示例

import re

# 你的现有爬取代码
def getTextFromHTMLItem(HTMLItem):
    try:
        return HTMLItem.text
    except:
        return " "

try:
    productnaam = getTextFromHTMLItem(soup.find('h1', {'class':'product--title'}))
except:
    productnaam = ""

# 提取酒精度数
alcoholpercentage = None
# 正则规则:匹配整数/小数,兼容数字与Vol.间的空格,支持德语逗号小数
match = re.search(r'(\d+(?:,\d+)?)\s*Vol\.', productnaam)
if match:
    # 转换德语逗号小数为Python支持的点格式,再转为浮点数
    alcohol_str = match.group(1).replace(',', '.')
    alcoholpercentage = float(alcohol_str)

代码说明

  • 正则表达式 r'(\d+(?:,\d+)?)\s*Vol\.:
    • (\d+(?:,\d+)?):捕获整数(如47)或小数(如40,5)形式的酒精度数字
    • \s*:匹配数字与Vol.之间的任意空格
    • Vol\.:精准匹配「Vol.」(转义点号避免匹配任意字符)
  • 小数格式兼容:欧洲地区常用逗号作为小数分隔符,通过replace(',', '.')转换为Python可识别的格式
  • 无匹配处理:若标题中无酒精度信息,alcoholpercentage会保持None,可根据需求改为空字符串或0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 13:27:21